<SEC-DOCUMENT>0001193125-22-080508.txt : 20220321
<SEC-HEADER>0001193125-22-080508.hdr.sgml : 20220321
<ACCEPTANCE-DATETIME>20220321160122
ACCESSION NUMBER:		0001193125-22-080508
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		66
CONFORMED PERIOD OF REPORT:	20211231
FILED AS OF DATE:		20220321
DATE AS OF CHANGE:		20220321

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			CHICAGO RIVET & MACHINE CO
		CENTRAL INDEX KEY:			0000019871
		STANDARD INDUSTRIAL CLASSIFICATION:	METALWORKING MACHINERY & EQUIPMENT [3540]
		IRS NUMBER:				360904920
		STATE OF INCORPORATION:			IL
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	000-01227
		FILM NUMBER:		22755730

	BUSINESS ADDRESS:	
		STREET 1:		901 FRONTENAC RD
		STREET 2:		P O BOX 3061
		CITY:			NAPERVILLE
		STATE:			IL
		ZIP:			60566
		BUSINESS PHONE:		6303578500

	MAIL ADDRESS:	
		STREET 1:		901 FRONTENAC RD
		STREET 2:		P O BOX 3061
		CITY:			NAPERVILLE
		STATE:			IL
		ZIP:			60566
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>d288627d10k.htm
<DESCRIPTION>10-K
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8" ?>
<html xmlns='http://www.w3.org/1999/xhtml' xmlns:xbrli='http://www.xbrl.org/2003/instance' xmlns:us-gaap='http://fasb.org/us-gaap/2021-01-31' xmlns:srt='http://fasb.org/srt/2021-01-31' xmlns:dtr-types='http://www.xbrl.org/dtr/type/2020-01-21' xmlns:dei='http://xbrl.sec.gov/dei/2021q4' xmlns:fil='http://www.chicagorivet.com/20211231' xmlns:i='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/2015-02-26' 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>
<title>10-K</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='Y21' id='fact1'>0000019871</ix:nonNumeric> <ix:nonNumeric name='dei:EntityRegistrantName' contextRef='Y21' id='fact2'>CHICAGO RIVET &amp; MACHINE CO</ix:nonNumeric> <ix:nonNumeric name='dei:SecurityExchangeName' contextRef='Y21' id='fact3'>NYSEAMER</ix:nonNumeric> <ix:nonNumeric name='dei:AmendmentFlag' contextRef='Y21' id='fact4'>false</ix:nonNumeric> <ix:nonNumeric name='dei:DocumentFiscalYearFocus' contextRef='Y21' id='fact5'>2021</ix:nonNumeric> <ix:nonNumeric name='dei:DocumentFiscalPeriodFocus' contextRef='Y21' id='fact6'>FY</ix:nonNumeric> </ix:hidden> <ix:references> <link:schemaRef xlink:arcrole='http://www.xbrl.org/2003/linkbase' xlink:href='cvr-20211231.xsd' xlink:type='simple'/> </ix:references> <ix:resources> <i:context id='Y21'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='E21'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id='E21Q2'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> </i:entity> <i:period> <i:instant>2021-06-30</i:instant> </i:period> </i:context> <i:context id='I220318'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> </i:entity> <i:period> <i:instant>2022-03-18</i:instant> </i:period> </i:context> <i:context id='E20'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> </i:entity> <i:period> <i:instant>2020-12-31</i:instant> </i:period> </i:context> <i:context id='Y20'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> </i:entity> <i:period> <i:startDate>2020-01-01</i:startDate> <i:endDate>2020-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_StEqComps-RetainedEarnings'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='E19'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> </i:entity> <i:period> <i:instant>2019-12-31</i:instant> </i:period> </i:context> <i:context id='E19_StEqComps-PrefStock'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:PreferredStockMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2019-12-31</i:instant> </i:period> </i:context> <i:context id='E19_StEqComps-CommonStock'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2019-12-31</i:instant> </i:period> </i:context> <i:context id='E19_StEqComps-AddPaidInCap'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2019-12-31</i:instant> </i:period> </i:context> <i:context id='E19_StEqComps-RetainedEarnings'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2019-12-31</i:instant> </i:period> </i:context> <i:context id='E19_StEqComps-TreasuryStock'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:TreasuryStockMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2019-12-31</i:instant> </i:period> </i:context> <i:context id='Y20_StEqComps-RetainedEarnings'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2020-01-01</i:startDate> <i:endDate>2020-12-31</i:endDate> </i:period> </i:context> <i:context id='E20_StEqComps-PrefStock'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:PreferredStockMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2020-12-31</i:instant> </i:period> </i:context> <i:context id='E20_StEqComps-CommonStock'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2020-12-31</i:instant> </i:period> </i:context> <i:context id='E20_StEqComps-AddPaidInCap'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2020-12-31</i:instant> </i:period> </i:context> <i:context id='E20_StEqComps-RetainedEarnings'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2020-12-31</i:instant> </i:period> </i:context> <i:context id='E20_StEqComps-TreasuryStock'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:TreasuryStockMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2020-12-31</i:instant> </i:period> </i:context> <i:context id='E21_StEqComps-PrefStock'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:PreferredStockMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id='E21_StEqComps-CommonStock'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</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'>0000019871</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-RetainedEarnings'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</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='E21_StEqComps-TreasuryStock'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:TreasuryStockMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id='Y21_Range-Minimum_PpeByType-LandImprovements'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:LandImprovementsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_Range-Maximum_PpeByType-LandImprovements'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:LandImprovementsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_Range-Minimum_PpeByType-BuildingImprovements'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:BuildingImprovementsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_Range-Maximum_PpeByType-BuildingImprovements'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:BuildingImprovementsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_Range-Minimum_PpeByType-MachineryAndEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_Range-Maximum_PpeByType-MachineryAndEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_Range-Minimum_PpeByType-SoftwareAndSoftwareDvlpCosts'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_Range-Maximum_PpeByType-SoftwareAndSoftwareDvlpCosts'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_Range-Minimum_PpeByType-OtherCapizedPpe'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:OtherCapitalizedPropertyPlantAndEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_Range-Maximum_PpeByType-OtherCapizedPpe'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:OtherCapitalizedPropertyPlantAndEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='E20_ValuationAllowancesAndReservesType-AllowanceForCreditLoss'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:ValuationAllowancesAndReservesTypeAxis'>us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2020-12-31</i:instant> </i:period> </i:context> <i:context id='E19_ValuationAllowancesAndReservesType-AllowanceForCreditLoss'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:ValuationAllowancesAndReservesTypeAxis'>us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2019-12-31</i:instant> </i:period> </i:context> <i:context id='Y21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:ValuationAllowancesAndReservesTypeAxis'>us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y20_ValuationAllowancesAndReservesType-AllowanceForCreditLoss'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:ValuationAllowancesAndReservesTypeAxis'>us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2020-01-01</i:startDate> <i:endDate>2020-12-31</i:endDate> </i:period> </i:context> <i:context id='E21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:ValuationAllowancesAndReservesTypeAxis'>us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id='E20_ValuationAllowancesAndReservesType-InventoryValuationReserve'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:ValuationAllowancesAndReservesTypeAxis'>us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2020-12-31</i:instant> </i:period> </i:context> <i:context id='E19_ValuationAllowancesAndReservesType-InventoryValuationReserve'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:ValuationAllowancesAndReservesTypeAxis'>us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2019-12-31</i:instant> </i:period> </i:context> <i:context id='Y21_ValuationAllowancesAndReservesType-InventoryValuationReserve'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:ValuationAllowancesAndReservesTypeAxis'>us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y20_ValuationAllowancesAndReservesType-InventoryValuationReserve'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:ValuationAllowancesAndReservesTypeAxis'>us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2020-01-01</i:startDate> <i:endDate>2020-12-31</i:endDate> </i:period> </i:context> <i:context id='E21_ValuationAllowancesAndReservesType-InventoryValuationReserve'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:ValuationAllowancesAndReservesTypeAxis'>us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id='Y21_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_StBusnSeg-UnallocatedCorporate'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:UnallocatedCorporateMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='E21_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id='E21_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id='E21_StBusnSeg-UnallocatedCorporate'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:UnallocatedCorporateMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id='Y20_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2020-01-01</i:startDate> <i:endDate>2020-12-31</i:endDate> </i:period> </i:context> <i:context id='Y20_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2020-01-01</i:startDate> <i:endDate>2020-12-31</i:endDate> </i:period> </i:context> <i:context id='Y20_StBusnSeg-UnallocatedCorporate'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:UnallocatedCorporateMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2020-01-01</i:startDate> <i:endDate>2020-12-31</i:endDate> </i:period> </i:context> <i:context id='E20_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2020-12-31</i:instant> </i:period> </i:context> <i:context id='E20_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2020-12-31</i:instant> </i:period> </i:context> <i:context id='E20_StBusnSeg-UnallocatedCorporate'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:UnallocatedCorporateMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2020-12-31</i:instant> </i:period> </i:context> <i:context id='Y21_ProductOrService-EndMarket'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:EndMarketMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_ProductOrService-Automotive'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:AutomotiveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_ProductOrService-Automotive_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:AutomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:AutomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_ProductOrService-Nonautomotive'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:NonautomotiveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_ProductOrService-Nonautomotive_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:NonautomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:NonautomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y20_ProductOrService-Automotive'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:AutomotiveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2020-01-01</i:startDate> <i:endDate>2020-12-31</i:endDate> </i:period> </i:context> <i:context id='Y20_ProductOrService-Automotive_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:AutomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2020-01-01</i:startDate> <i:endDate>2020-12-31</i:endDate> </i:period> </i:context> <i:context id='Y20_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:AutomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2020-01-01</i:startDate> <i:endDate>2020-12-31</i:endDate> </i:period> </i:context> <i:context id='Y20_ProductOrService-Nonautomotive'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:NonautomotiveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2020-01-01</i:startDate> <i:endDate>2020-12-31</i:endDate> </i:period> </i:context> <i:context id='Y20_ProductOrService-Nonautomotive_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:NonautomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2020-01-01</i:startDate> <i:endDate>2020-12-31</i:endDate> </i:period> </i:context> <i:context id='Y20_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:NonautomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2020-01-01</i:startDate> <i:endDate>2020-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_StGeo-Location'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:LocationMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_StGeo-UnitedStates'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:UnitedStatesMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_StGeo-UnitedStates_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:UnitedStatesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_StGeo-UnitedStates_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:UnitedStatesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_StGeo-Foreign'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:ForeignMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_StGeo-Foreign_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:ForeignMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_StGeo-Foreign_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:ForeignMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y20_StGeo-UnitedStates'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:UnitedStatesMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2020-01-01</i:startDate> <i:endDate>2020-12-31</i:endDate> </i:period> </i:context> <i:context id='Y20_StGeo-UnitedStates_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:UnitedStatesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2020-01-01</i:startDate> <i:endDate>2020-12-31</i:endDate> </i:period> </i:context> <i:context id='Y20_StGeo-UnitedStates_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:UnitedStatesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2020-01-01</i:startDate> <i:endDate>2020-12-31</i:endDate> </i:period> </i:context> <i:context id='Y20_StGeo-Foreign'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:ForeignMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2020-01-01</i:startDate> <i:endDate>2020-12-31</i:endDate> </i:period> </i:context> <i:context id='Y20_StGeo-Foreign_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:ForeignMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2020-01-01</i:startDate> <i:endDate>2020-12-31</i:endDate> </i:period> </i:context> <i:context id='Y20_StGeo-Foreign_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:ForeignMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2020-01-01</i:startDate> <i:endDate>2020-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_MajCust-TIGroupAutomotiveSystems'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:MajorCustomersAxis'>fil:TIGroupAutomotiveSystemsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y20_MajCust-TIGroupAutomotiveSystems'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:MajorCustomersAxis'>fil:TIGroupAutomotiveSystemsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2020-01-01</i:startDate> <i:endDate>2020-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_MajCust-CooperStandardHoldingsInc'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:MajorCustomersAxis'>fil:CooperStandardHoldingsIncMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y20_MajCust-CooperStandardHoldingsInc'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:MajorCustomersAxis'>fil:CooperStandardHoldingsIncMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2020-01-01</i:startDate> <i:endDate>2020-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_MajCust-ParkerHannifinCorporation'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:MajorCustomersAxis'>fil:ParkerHannifinCorporationMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y20_MajCust-ParkerHannifinCorporation'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:MajorCustomersAxis'>fil:ParkerHannifinCorporationMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2020-01-01</i:startDate> <i:endDate>2020-12-31</i:endDate> </i:period> </i:context> <i:unit id='Pure'> <i:measure>xbrli:pure</i:measure> </i:unit> <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> </ix:resources> </ix:header> </div> <div><p style='font:14pt Times New Roman;margin:0;text-align:center'><b>UNITED STATES </b></p> <p style='font:14pt Times New Roman;margin:0;text-align:center'><b>SECURITIES AND EXCHANGE COMMISSION</b></p> <p style='font:14pt Times New Roman;margin:0;text-align:center'><b>WASHINGTON, DC &#160;20549</b></p> <p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p> <p style='font:12pt Times New Roman;margin:0;text-align:center'><span style='font-size:14pt'><b>FORM</b></span><b> </b><span style='font-size:14pt'><b><ix:nonNumeric name='dei:DocumentType' contextRef='Y21' escape='true'>10-K</ix:nonNumeric></b></span></p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'><ix:nonNumeric name='dei:DocumentAnnualReport' contextRef='Y21' format='ixt-sec:boolballotbox'>&#9746;</ix:nonNumeric> <b> </b>ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(D) OF THE SECURITIES EXCHANGE ACT OF 1934</p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0;text-align:center'><b>For the fiscal year ended </b><ix:nonNumeric name='dei:DocumentPeriodEndDate' contextRef='Y21' format='ixt:datemonthdayyearen'><ix:nonNumeric name='dei:CurrentFiscalYearEndDate' contextRef='Y21' format='ixt:datemonthdayen'>December 31</ix:nonNumeric>, 2021</ix:nonNumeric></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'>or</p> <p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'><ix:nonNumeric name='dei:DocumentTransitionReport' contextRef='Y21' format='ixt-sec:boolballotbox'>&#9744;</ix:nonNumeric><b> &#160;</b>TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(D) OF THE SECURITIES EXCHANGE ACT OF 1934</p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0;text-align:center'><b>Commission file number <ix:nonNumeric name='dei:EntityFileNumber' contextRef='Y21' escape='true'>000-01227</ix:nonNumeric></b></p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0;text-align:center'><b>
<img src="g288627crmlogo.jpg" style='width:57.35pt;height:51.8pt;visibility:visible;mso-wrap-style:square' alt='Picture'/></b>&#160;</p> <p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='-sec-ix-hidden:fact2'><span style='font-size:16pt'><b>Chicago Rivet &amp; Machine Co.</b></span></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;text-align:center'>&#160;</p>
<table style='margin:0 auto;border-collapse:collapse'>
<tr>
<td valign='bottom' style='width:189pt;padding-left:2pt;padding-right:2pt'><p style='font:11pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonNumeric name='dei:EntityIncorporationStateCountryCode' contextRef='Y21' format='ixt-sec:stateprovnameen'>Illinois</ix:nonNumeric>&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><br/>(State or other jurisdiction<br/>of incorporation or organization)</p> </td>
<td valign='bottom' style='width:198pt;padding-left:2pt;padding-right:2pt'><p style='font:11pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonNumeric name='dei:EntityTaxIdentificationNumber' contextRef='Y21' escape='true'>36-0904920</ix:nonNumeric>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><br/>I.R.S. Employer<br/>Identification Number</p> </td></tr> </table> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0;text-align:center'><b><ix:nonNumeric name='dei:EntityAddressAddressLine1' contextRef='Y21' escape='true'>901 Frontenac Road</ix:nonNumeric>, <ix:nonNumeric name='dei:EntityAddressCityOrTown' contextRef='Y21' escape='true'>Naperville</ix:nonNumeric>, <ix:nonNumeric name='dei:EntityAddressStateOrProvince' contextRef='Y21' format='ixt-sec:stateprovnameen'>Illinois</ix:nonNumeric></b> &#160;&#160;<b><ix:nonNumeric name='dei:EntityAddressPostalZipCode' contextRef='Y21' escape='true'>60563</ix:nonNumeric></b></p> <p style='font:10pt Times New Roman;margin:0;text-align:center'>(Address of Principal Executive Offices) &#160;&#160;&#160;&#160;&#160;(Zip Code)</p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0;text-align:center'>Registrant's telephone number, including area code: <b>(<ix:nonNumeric name='dei:CityAreaCode' contextRef='Y21' escape='true'>630</ix:nonNumeric>) <ix:nonNumeric name='dei:LocalPhoneNumber' contextRef='Y21' escape='true'>357-8500</ix:nonNumeric></b></p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>Securities registered pursuant to Section 12(b) of the Act:</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='top' style='width:180.9pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'>Title of each class</p> </td>
<td valign='top' style='width:94.3pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'>Trading Symbol(s)</p> </td>
<td valign='top' style='width:246.8pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'>Name of each exchange on which registered</p> </td></tr>
<tr>
<td valign='top' style='width:180.9pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'><ix:nonNumeric name='dei:Security12bTitle' contextRef='Y21' escape='true'>Common Stock, par value $1.00 per share</ix:nonNumeric></p> </td>
<td valign='top' style='width:94.3pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonNumeric name='dei:TradingSymbol' contextRef='Y21' escape='true'>CVR</ix:nonNumeric></p> </td>
<td valign='top' style='width:246.8pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'><span style='-sec-ix-hidden:fact3'>NYSE American</span> &#160;(Trading privileges only, not registered)</p> </td></tr> </table> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. &#160;Yes <span style='font-size:11pt'><span style='font-family:Wingdings'>&#111;</span></span> &#160;<ix:nonNumeric name='dei:EntityWellKnownSeasonedIssuer' contextRef='Y21' escape='true'>No</ix:nonNumeric> <span style='font-size:11pt'><span style='font-family:Wingdings'>&#253;</span></span></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 if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act. Yes <span style='font-size:11pt'><span style='font-family:Wingdings'>&#111;</span></span> &#160;<ix:nonNumeric name='dei:EntityVoluntaryFilers' contextRef='Y21' escape='true'>No</ix:nonNumeric> <span style='font-size:11pt'><span style='font-family:Wingdings'>&#253;</span></span></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 (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days. &#160;<ix:nonNumeric name='dei:EntityCurrentReportingStatus' contextRef='Y21' escape='true'>Yes</ix:nonNumeric> <span style='font-size:11pt'><span style='font-family:Wingdings'>&#253;</span></span> &#160;No <span style='font-size:11pt'><span style='font-family:Wingdings'>&#111;</span></span></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 has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (&#167; 232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files). &#160;<ix:nonNumeric name='dei:EntityInteractiveDataCurrent' contextRef='Y21' escape='true'>Yes</ix:nonNumeric> <span style='font-size:11pt'><span style='font-family:Wingdings'>&#253;</span></span> &#160;No <span style='font-size:11pt'><span style='font-family:Wingdings'>&#111;</span></span></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 large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. &#160;See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company&#8221; and &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act.:</p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'><kbd style='position:absolute;font:10pt Times New Roman;margin-left:36pt'>Large accelerated filer</kbd><kbd style='position:absolute;font:10pt Times New Roman;margin-left:144pt'><span style='font-size:11pt'><span style='font-family:Wingdings'>&#111;</span></span></kbd><kbd style='position:absolute;font:10pt Times New Roman;margin-left:288pt'>Accelerated filer</kbd><kbd style='margin-left:432pt'></kbd><span style='font-size:11pt'><span style='font-family:Wingdings'>&#111;</span></span> &#160;</p> <p style='font:10pt Times New Roman;margin:0'><kbd style='position:absolute;font:10pt Times New Roman;margin-left:36pt'><ix:nonNumeric name='dei:EntityFilerCategory' contextRef='Y21' format='ixt-sec:entityfilercategoryen'>Non-accelerated filer</ix:nonNumeric></kbd><kbd style='position:absolute;font:10pt Times New Roman;margin-left:144pt'><span style='font-size:11pt'><span style='font-family:Wingdings'>&#253;</span></span></kbd><kbd style='position:absolute;font:10pt Times New Roman;margin-left:288pt'>Smaller reporting company </kbd><kbd style='margin-left:432pt'></kbd><ix:nonNumeric name='dei:EntitySmallBusiness' contextRef='Y21' format='ixt-sec:boolballotbox'>&#9746;</ix:nonNumeric> &#160;</p> <p style='font:10pt Times New Roman;margin:0;margin-left:252pt'><kbd style='position:absolute;font:10pt Times New Roman;margin-left:36pt'>Emerging growth company</kbd><kbd style='margin-left:180pt'></kbd><ix:nonNumeric name='dei:EntityEmergingGrowthCompany' contextRef='Y21' format='ixt-sec:boolballotbox'>&#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'>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. <ix:nonNumeric name='dei:EntityEmergingGrowthCompany' contextRef='Y21' format='ixt-sec:boolballotbox'>&#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'>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. <ix:nonNumeric name='dei:IcfrAuditorAttestationFlag' contextRef='Y21' format='ixt-sec:boolballotbox'>&#9744;</ix:nonNumeric></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). Yes <ix:nonNumeric name='dei:EntityShellCompany' contextRef='Y21' format='ixt-sec:boolballotbox'>&#9744;</ix:nonNumeric> &#160;No <span style='font-size:11pt'><span style='font-family:Wingdings'>&#253;</span></span> </p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>The aggregate market value of common stock held by non-affiliates of the Company as of June 30, 2021 was $<ix:nonFraction name='dei:EntityPublicFloat' contextRef='E21Q2' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>20,323,420</ix:nonFraction>.</p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>As of March 18, 2022, there were <ix:nonFraction name='dei:EntityCommonStockSharesOutstanding' contextRef='I220318' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction> shares of the Company's common stock outstanding.</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>Documents Incorporated By Reference</b></p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>Portions of the Company's definitive Proxy Statement which is to be filed with the Securities and Exchange Commission in connection with the Company's 2022 Annual Meeting of Shareholders are incorporated by reference in Part III of this report.</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 Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:144pt'><b>CHICAGO RIVET &amp; MACHINE CO.</b></p> <p style='font:10pt Arial;margin:0'><b> &#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;&#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;YEAR ENDING DECEMBER 31, 2021</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:36pt'>Item</kbd><kbd style='margin-left:432pt'></kbd>Page&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:36pt'><span style='border-bottom:1px solid #000000'>No.</span></kbd><kbd style='margin-left:432pt'></kbd> <span style='border-bottom:1px solid #000000'>No.</span>&#160;</p> <p style='font:10pt Arial;margin:0;margin-right:4.5pt'> &#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;&#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;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Part I</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:36pt'>1.</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:72pt'><a href="#vj1">Business</a></kbd><kbd style='margin-left:432pt'></kbd> 3&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:36pt'>1A.</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:72pt'><a href="#vj2">Risk Factors</a></kbd><kbd style='margin-left:432pt'></kbd> 4&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:36pt'>1B.</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:72pt'><a href="#vj3">Unresolved Staff Comments</a></kbd><kbd style='margin-left:432pt'></kbd> 7&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:36pt'>2.</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:72pt'><a href="#vj4">Properties</a></kbd><kbd style='margin-left:432pt'></kbd> 7&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:36pt'>3.</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:72pt'><a href="#vj5">Legal Proceedings</a></kbd><kbd style='margin-left:432pt'></kbd> 7&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Times New Roman;margin-left:36pt'>4.</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:72pt'><a href="#vj6">Mine Safety Disclosures</a></kbd><kbd style='margin-left:432pt'></kbd> 7&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'> &#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;&#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;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Part II</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:36pt'>5.</kbd><kbd style='margin-left:72pt'></kbd><a href="#vj7">Market for Registrant&#8217;s Common Equity, Related Stockholder Matters &#160;</a></p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:36pt'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="#vj7">and Issuer Purchases of Equity Securities</a></kbd><kbd style='margin-left:432pt'></kbd>9&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:36pt'>6.</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:72pt'><a href="#vj8">Selected Financial Data</a></kbd><kbd style='margin-left:432pt'></kbd> 9&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:36pt'>7.</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:72pt'><a href="#vj9">Management's Discussion and Analysis of Financial Condition</a></kbd><kbd style='margin-left:360pt'></kbd> &#160;&#160;&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:72pt'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'><a href="#vj9"> and Results of Operations</a></kbd><kbd style='margin-left:360pt'></kbd> 9&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:36pt'>7A.</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:72pt'><a href="#vj10">Quantitative and Qualitative Disclosures About Market Risk</a></kbd><kbd style='margin-left:432pt'></kbd>12&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:36pt'>8.</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:72pt'><a href="#vj11">Financial Statements and Supplementary Data</a></kbd><kbd style='margin-left:432pt'></kbd>13&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:72pt'><kbd style='position:absolute;font:10pt Arial;margin-left:-36pt'>9.</kbd><a href="#vj12">Changes in and Disagreements with Accountants on Accounting&#160;</a></p> <p style='font:10pt Arial;margin:0;margin-left:36pt'><kbd style='position:absolute;font:10pt Arial;margin-left:36pt'> <a href="#vj12">and Financial Disclosure</a></kbd><kbd style='margin-left:396pt'></kbd>26&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Times New Roman;margin-left:36pt'>9A.</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:72pt'><a href="#vj13">Controls and Procedures</a></kbd><kbd style='margin-left:432pt'></kbd>26&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Times New Roman;margin-left:36pt'>9B.</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:72pt'><a href="#vj14">Other Information</a></kbd><kbd style='margin-left:432pt'></kbd>26&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'> &#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;&#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;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Part III</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:36pt'>10.</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:72pt'><a href="#vj15">Directors, Executive Officers and Corporate Governance</a></kbd><kbd style='margin-left:432pt'></kbd>27&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:36pt'>11.</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:72pt'><a href="#vj16">Executive Compensation</a></kbd><kbd style='margin-left:432pt'></kbd>27&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:72pt'><kbd style='position:absolute;font:10pt Arial;margin-left:-36pt'>12.</kbd><a href="#vj17">Security Ownership of Certain Beneficial Owners and&#160;</a></p> <p style='font:10pt Arial;margin:0;margin-left:36pt'><kbd style='position:absolute;font:10pt Arial;margin-left:36pt'> <a href="#vj17">Management and Related Stockholder Matters</a></kbd><kbd style='margin-left:396pt'></kbd>27&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:36pt'>13.</kbd><kbd style='margin-left:72pt'></kbd><a href="#vj18">Certain Relationships and Related Transactions, &#160;</a></p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Times New Roman;margin-left:72pt'> <a href="#vj18">and Director Independence</a></kbd><kbd style='margin-left:432pt'></kbd>27&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:36pt'>14.</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:72pt'><a href="#vj19">Principal Accountant Fees and Services</a></kbd><kbd style='margin-left:432pt'></kbd>27&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'> &#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;&#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;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Part IV</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:72pt'><kbd style='position:absolute;font:10pt Arial;margin-left:-36pt'>15.</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'><a href="#vj20">Exhibits and Financial Statement Schedules</a></kbd><kbd style='margin-left:360pt'></kbd>28&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:72pt'><kbd style='position:absolute;font:10pt Arial;margin-left:-36pt'>16.</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'><a href="#vj21">Form 10-K Summary</a></kbd><kbd style='margin-left:360pt'></kbd>28&#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 Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>PART I</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p><div id="vj1"></div> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 1 - Business</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>Chicago Rivet &amp; Machine Co. (the &quot;Company&quot;) was incorporated under the laws of the State of Illinois in December 1927, as successor to the business of Chicago Rivet &amp; Specialty Co. &#160;The Company operates in two segments of the fastener industry: fasteners and assembly equipment. &#160;The fastener segment consists of the manufacture and sale of rivets, cold-formed fasteners and parts, and screw machine products. &#160;The assembly equipment segment consists primarily of the manufacture of automatic rivet setting machines, automatic assembly equipment and parts and tools for such machines. &#160;&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The principal market for the Company&#8217;s products is the North American automotive industry. &#160;Sales are solicited by employees and by independent sales representatives.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The segments in which the Company operates are characterized by active and substantial competition. &#160;No single company dominates the industry. &#160;The Company's competitors include both larger and smaller manufacturers, and segments or divisions of large, diversified companies with substantial financial resources. &#160;Principal competitive factors in the market for the Company's products are price, quality and service.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The Company serves a variety of customers. &#160;Revenues are primarily derived from sales to customers involved, directly or indirectly, in the manufacture of automobiles and automotive components. &#160;The level of business activity for the Company is closely related to the overall level of industrial activity in the United States. &#160;During 2021, sales to three customers were at least 10% of the Company&#8217;s consolidated revenues. &#160;Sales to TI Group Automotive Systems, LLC accounted for approximately 13% and 14% of the Company&#8217;s consolidated revenues in 2021 and 2020, respectively. &#160;Sales to Cooper-Standard Holdings Inc. accounted for approximately 11% and 12% of the Company&#8217;s consolidated revenues in 2021 and 2020, respectively. &#160;Sales to Parker-Hannifin Corporation accounted for approximately 12% and 10% of the Company's consolidated revenues in 2021 and 2020, respectively. &#160;&#160;&#160;&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The Company's business has historically been stronger during the first half of the year.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The Company purchases raw material from a number of sources, primarily within the United States. &#160;There are numerous sources of raw material, and the Company does not have to rely on a single source for any of its requirements.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>Patents, trademarks, licenses, franchises and concessions are not of significant importance to the business of the Company.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The Company does not engage in significant research activities, but rather in ongoing product improvement and development. &#160;The amounts spent on product development activities in the last two years were not material.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>At December 31, 2021, the Company employed 201 people.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'> &#160;&#160;&#160;</kbd><kbd style='margin-left:36pt'></kbd>The Company has no foreign operations. &#160;Sales to foreign customers represent approximately 16% of the Company's total 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'>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 Arial;margin:0'> &#160;&#160;&#160;</p><div id="vj2"></div> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 1A </b><b>-</b><b> Risk Factors</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>Our business is subject to a number of risks and uncertainties. &#160;If any of the events contemplated by the following risks actually occur, then our business, financial condition or results of operations could be materially adversely affected. &#160;Additional risks and uncertainties not currently known to us or that we currently deem to be immaterial may also materially and adversely affect our business, financial condition and results of operations.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>Our business and operations have been, and may continue to be, adversely affected by the COVID-19 pandemic.</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>In March 2020, the World Health Organization characterized the novel coronavirus (&#8220;COVID-19&#8221;) a pandemic and the President of the United States declared the COVID-19 outbreak a national emergency. On January 30, 2020, the World Health Organization declared a Public Health Emergency of International Concern regarding the outbreak of COVID-19. In response to the resulting pandemic, governments around the world took various preventative measures in order to control the spread of the virus, including restricting travel, full or partial business shutdowns and implementing social distancing policies. &#160;As a result, we experienced a significant drop in orders, especially in the second quarter of 2020, and the global economy was plunged into a recession. &#160;Although business conditions in our markets had improved by late in the third quarter of that year, the effects of the pandemic have continued to negatively impact our operations and those of our customers and suppliers. The duration of these effects is uncertain and will likely be tied to the course of the pandemic. &#160;As we cannot predict the duration or scope of the COVID-19 pandemic, or its broader impact on the global economy, including the demand for automobiles, it is unknown what the impact of COVID-19 and its related effects will be on our business, results of operations or financial condition, but the impact could be material and last for an extended period of time.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>We are dependent on the automotive industry.</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>Demand for our products is directly related to conditions in the global automotive industry, which is highly cyclical and is affected by a variety of factors, including regulatory requirements, international trade policies, and consumer spending and preferences. &#160;The automotive industry is characterized by fierce competition and has undergone major restructuring in recent years. &#160;The impact of evolving technological changes, including a growing emphasis on electric vehicles, as well as any decline in the automotive industry, domestic or foreign, could have a material adverse effect on our business, results of operations and financial condition.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>We face intense competition.</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>We compete with a number of other manufacturers and distributors that produce and sell products similar to ours. &#160;Price, quality and service are the primary elements of competition. &#160;Our competitors include a large number of independent domestic and international suppliers. &#160;We are not as large as a number of these companies and do not have as many financial or other resources. &#160;Faced with intense international competition and pressure to reduce costs, many customers have expanded their sourcing of components worldwide. &#160;As a result, we have experienced competition from suppliers in other parts of the world that benefit from economic advantages, such as lower labor costs, lower health care costs and fewer regulatory burdens. &#160;There can be no assurance that we will be able to compete successfully with existing or new competitors. &#160;Increased competition could have a material adverse effect on our business, results of operations and financial condition.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>We rely on sales to major customers.</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>Our sales to three customers constituted approximately 36% of our consolidated revenues in 2021. &#160;Sales to TI Group Automotive Systems, LLC, Parker-Hannifin Corporation and Cooper-Standard Holdings Inc. accounted for approximately 13%, 12% and 11% of the Company's consolidated revenues in 2021, respectively. &#160;The loss of any significant portion of our sales to these customers could have a material adverse effect on our business, results of operations and financial condition.</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 Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>We are subject to risks related to export sales.</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>Our export sales have increased in recent years, and we are working to continue to expand our business relationships with customers outside of the United States.&#160; Export sales are subject to various risks, including risks related to changes in local economic, social and political conditions (particularly in emerging markets), changes in tariffs and trade policies and foreign currency exchange rate fluctuations, which could have a material adverse effect on our business, results of operations and financial condition.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>Increases in our raw material costs or difficulties with our suppliers could negatively affect us.</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>While we currently maintain alternative sources for raw materials, our business is subject to the risk of price fluctuations and periodic delays in the delivery of certain raw materials. &#160;At various times in recent years, we have been adversely impacted by increased costs for steel, our principal raw material, which we have been unable to wholly mitigate, as well as increases in other materials prices. &#160;Any continued fluctuation in the price or availability of our raw materials could have a material adverse impact on our business, results of operations and financial condition.</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>Supply Chain Disruptions.</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:11pt Arial;margin:0;text-indent:36pt'>Many of our customers depend upon intricate just-in-time supply chain systems. &#160;A disruption in a supply chain caused by one or more suppliers, and/or an unrelated supplier, due to part shortages, work stoppages, bankruptcy, raw material shortages, natural disasters, coronavirus, tariffs, etc. could adversely impact our business, or our customers&#8217; business, which could have a material adverse effect on our results of operations and financial condition. </p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>We may be adversely affected by labor relations issues.</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>Although none of our employees are unionized, the domestic automakers and many of their suppliers, including many of our customers, have unionized work forces. &#160;Work stoppages or slow-downs experienced by automakers or their suppliers could result in slow-downs or closures of assembly plants where our products are included in assembled components. &#160;In the event that one or more of our customers or their customers experiences a material labor relations issue, our business, results of operations and financial condition could be materially adversely affected.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>We may incur losses as a result of product liability, warranty or other claims that may be brought against us.</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>We face risk of exposure to warranty and product liability claims in the event that our products fail to perform as expected or result, or are alleged to have resulted, in bodily injury, property damage or other losses. &#160;In addition, if any of our products are or are alleged to be defective, then we may be required to participate in a product recall. &#160;We may also be involved from time to time in legal proceedings and commercial or contractual disputes. &#160;Any losses or other liabilities related to these exposures could have a material adverse effect on our business, results of operations and financial condition.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>We could be adversely impacted by environmental laws and regulations.</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>Our operations are subject to environmental laws and regulations. &#160;Currently, environmental costs and liabilities with respect to our operations are not material, but there can be no assurance that we will not be adversely impacted by these costs and liabilities in the future either under present laws and regulations or those that may be adopted or imposed in the future.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>We could be adversely impacted by the loss of the services of key employees</b>.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>Successful operations depend, in part, upon the efforts of executive officers and other key employees. &#160;Our future success will depend, in part, upon our ability to attract and retain qualified personnel. &#160;Loss of the services of any of our key employees, or the inability to attract or retain employees could have a material adverse affect upon our business, financial condition and results of operations.</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 Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'><b>Any significant disruption, interruption or failure of our information systems could disrupt the operation of our business, result in increased costs and decreased revenues and expose us to liability.</b></p> <p style='font:10pt Arial;margin:0;text-align:justify'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'><kbd style='margin-left:36pt'></kbd>Cybersecurity threats are growing in number and sophistication and include, among others, malicious software, attempts to gain unauthorized access to data, and other electronic security breaches that could lead to disruptions in critical systems, unauthorized release of confidential or otherwise protected information and corruption of data.&#160;In addition to security threats, we are also subject to other systems failures, including network, software or hardware failures, whether caused by us, third-party service providers, natural disasters, power shortages, terrorist attacks or other events. The unavailability of our information systems, the failure of these systems to perform as anticipated or any significant breach of data security could cause loss of data, disrupt our operations, lead to financial losses from remedial actions, require significant management attention and resources, and negatively impact our reputation among our customers, which could have a negative impact on our business, results of operations and financial condition.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>The price of our common stock is subject to volatility, and our stock is thinly-traded.</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>Various factors, such as general economic changes in the financial markets, announcements or significant developments with respect to the automotive industry, actual or anticipated variations in our or our competitors&#8217; quarterly or annual financial results, the introduction of new products or technologies by us or our competitors, changes in other conditions or trends in our industry or in the markets of any of our significant customers, changes in governmental regulation, or changes in securities analysts&#8217; estimates of our competitors or our industry, could cause the market price of our common stock to fluctuate substantially. &#160;&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>Our common stock is traded on the NYSE American (not registered, trading privileges only). &#160;The average daily trading volume for our common stock during 2021 was less than 4,000 shares per day. &#160;As a result, you may have difficulty selling shares of our common stock, and the price of our common stock may vary significantly based on trading volume.&#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 Arial;margin:0'>&#160;</p><div id="vj3"></div> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 1B </b><b>-</b><b> Unresolved Staff Comments</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>None.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p><div id="vj4"></div> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 2 - Properties</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>The Company's headquarters is located in Naperville, Illinois. &#160;The Company conducts its manufacturing and warehousing operations at three additional facilities. &#160;All of these facilities are described below. &#160;Each facility is owned by the Company and considered suitable and adequate for its present use.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>Of the properties described below, the Madison Heights, Michigan facility is used entirely in the fastener segment. &#160;The Albia, Iowa facility is used exclusively in the assembly equipment segment. &#160;The Tyrone, Pennsylvania and the Naperville, Illinois facilites are utilized in both operating segments.</p> <p style='font:10pt Arial;margin:0'> &#160;</p> <p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Plant Locations and Descriptions</span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>Naperville, Illinois</kbd><kbd style='margin-left:180pt'></kbd>Brick, concrete block and partial &#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'><kbd style='margin-left:180pt'></kbd> metal construction with metal roof.&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>Tyrone, Pennsylvania</kbd><kbd style='margin-left:180pt'></kbd>Concrete block with small tapered&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'><kbd style='margin-left:180pt'></kbd> beam type warehouse.&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>Albia, Iowa</kbd><kbd style='margin-left:180pt'></kbd>Concrete block with prestressed &#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'><kbd style='margin-left:180pt'></kbd> concrete roof construction.&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>Madison Heights, Michigan</kbd><kbd style='margin-left:180pt'></kbd>Concrete, brick and partial metal&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'><kbd style='margin-left:180pt'></kbd> construction with metal roof.&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p><div id="vj5"></div> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 3 - Legal Proceedings</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>The Company is, from time to time involved in litigation, including environmental claims, in the normal course of business. &#160;While it is not possible at this time to establish the ultimate amount of liability with respect to contingent liabilities, including those related to legal proceedings, management is of the opinion that the aggregate amount of any such liabilities, for which provision has not been made, will not have a material adverse effect on the Company's financial position.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p><div id="vj6"> </div> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 4 </b><b>-</b><b> Mine Safety Disclosures</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>Not applicable.</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 Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:144pt'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:144pt'><span style='border-bottom:1px solid #000000'>Information about our Executive Officers</span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'> &#160;&#160;&#160;</kbd><kbd style='margin-left:36pt'></kbd>The names, ages and positions of all executive officers of the Company, as of March 15, 2022, are listed below. &#160;Officers are elected annually by the Board of Directors at the meeting of the directors immediately following the Annual Meeting of Shareholders. &#160;There are no family relationships among these officers, nor any arrangement or understanding between any officer and any other person pursuant to which the officer was selected.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'><span style='border-bottom:1px solid #000000'>Name and Age of Officer</span></kbd><kbd style='position:absolute;font:10pt Arial;margin-left:180pt'><span style='border-bottom:1px solid #000000'>Position</span></kbd><kbd style='margin-left:324pt'></kbd><span style='border-bottom:1px solid #000000'>Years an Officer</span>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>Walter W. Morrissey</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:108pt'>79</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:180pt'>Chairman, Chief Executive Officer</kbd><kbd style='margin-left:360pt'></kbd>2&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>Michael J. Bourg</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:108pt'>59</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:180pt'>President, Chief Operating Officer</kbd><kbd style='margin-left:360pt'></kbd>23&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:180pt'></kbd>and Treasurer&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:36pt'><kbd style='position:absolute;font:10pt Arial;margin-left:-36pt'>-</kbd>Mr. Morrissey has been Chairman of the Board of Directors of the Company and Chief Executive Officer since May 2020. &#160;He has been a director of the Company since 1972.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:36pt'><kbd style='position:absolute;font:10pt Arial;margin-left:-36pt'>- </kbd>Mr. Bourg has been President, Chief Operating Officer and Treasurer of the Company since May 2006. &#160;Prior to that, he served in various executive roles since joining the Company in December 1998. &#160;He has been a director of the Company since May 2006.&#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 Arial;margin:0;text-align:center'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>PART II</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p><div id="vj7"></div> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 5 - Market for Registrant's Common Equity, Related</b></span></p> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>Stockholder Matters and Issuer Purchases of Equity Securities</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The Company's common stock is traded on the NYSE American (trading privileges only, not registered). &#160;As of March 5, 2022 there were approximately 140 shareholders of record of such stock.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>Under the terms of a stock repurchase authorization originally approved by the Board of Directors of the Company in February of 1990, as amended, the Company is authorized to repurchase up to an aggregate of 200,000 shares of its common stock, in the open market or in private transactions, at prices deemed reasonable by management. &#160;Cumulative purchases under the repurchase authorization have amounted to 162,996 shares at an average price of $15.66 per share. &#160;The Company has not purchased any shares of its common stock since 2002.<br/></p> <p style='font:10pt Arial;margin:0'>&#160;</p><div id="vj8"></div> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 6 - Selected Financial Data</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'> &#160;&#160;&#160;</kbd><kbd style='margin-left:36pt'></kbd>As a Smaller Reporting Company as defined in Rule 12b-2 of the Exchange Act and in item 10(f)(1) of Regulation S-K, we have elected scaled disclosure reporting obligations with respect to this item and therefore are not required to provide the information requested by this Item 6.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p><div id="vj9"></div> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 7 - Management's Discussion and Analysis of</b></span></p> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b> Financial Condition and Results of Operations</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>Forward-Looking Statements</b></p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'>This discussion contains certain &quot;forward-looking statements&quot; which are inherently subject to risks and uncertainties that may cause actual events to differ materially from those discussed herein. &#160;Factors which may cause such differences in events include those disclosed above under &#8220;Risk Factors&#8221; and elsewhere in this Form 10-K. &#160;As stated elsewhere in this filing, such factors include, among other things: risk related to the COVID-19 pandemic and its related adverse effects, conditions in the domestic automotive industry, upon which we rely for sales revenue, the intense competition in our markets, the concentration of our sales with major customers, risks related to export sales, the price and availability of raw materials, supply chain disruptions, labor relations issues, losses related to product liability, warranty and recall claims, costs relating to environmental laws and regulations, information systems disruptions and the loss of the services of our key employees. &#160;Many of these factors are beyond our ability to control or predict. &#160;Readers are cautioned not to place undue reliance on these forward-looking statements. &#160;We undertake no obligation to publish revised forward-looking statements to reflect events or circumstances after the date hereof or to reflect the occurrence of unanticipated events.</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><b>RESULTS OF OPERATIONS </b></p> <p style='font:10pt Arial;margin:0;color:#000000'> &#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><kbd style='margin-left:37.5pt'></kbd>Financial results for the first three quarters of 2021 improved dramatically over the same period in 2020 which was adversely impacted by the global COVID-19 pandemic. &#160;Although the pandemic continued to present many challenges in 2021, as of September 30, 2021, sales had increased $6,899,836, or 35.7%, compared to the same period in 2020. &#160;Ongoing supply chain disruptions weighed heavily on demand from our automotive sector customers during the fourth quarter even as overall economic activity improved. &#160;As a result, sales in the fourth quarter of 2021 were limited to $7,749,488 compared to $8,265,419 a year earlier, a decline of $515,931, or 6.2%. &#160;The combination of lower sales and higher costs in the quarter resulted in a reduction in fourth quarter net income compared to a year earlier. &#160;Net income was $81,178, or $0.08 per share, in the fourth quarter of 2021 compared to $464,263, or $0.48 per share, for the fourth quarter of 2020. &#160;For the full year 2021, net sales were $33,974,558 compared to $27,590,653 in 2020, an increase of $6,383,905, or 23.1%. &#160;Net sales in 2021 reflect an increase of $1,101,556, or 3.4%, compared to the $32,873,002 reported in 2019. &#160;Full year net income in 2021 was $1,113,472, or $1.15 per share, compared to $50,450, or $0.05 per share, in 2020 and net income of $538,314, or $0.56 per share, in 2019.&#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 Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><b>2021 Compared to 2020</b></p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><kbd style='margin-left:36pt'></kbd>Fastener segment revenues were $6,988,047 in the fourth quarter of 2021 compared to $7,332,308 reported in the fourth quarter of 2020, a decline of $344,261, or 4.7%. &#160;The decline was primarily due to the ongoing computer chip shortage and transportation bottlenecks that have constrained automotive production. &#160;During the fourth quarter, sales to automotive customers declined $795,623, which more than offset an increase in sales to non-automotive customers of $451,362. &#160;Fastener segment revenues for the full year 2021 were $29,831,388 compared to $24,607,863 in 2020, an increase of $5,223,525, or 21.2%. &#160;The full year increase in fastener segment sales is primarily due to the strong rebound in demand from the negative impact of the COVID-19 pandemic in 2020. &#160;The automotive sector is the primary market for our fastener segment products and much of that sector was idled for an extended period of time during the second quarter of 2020 due to the pandemic. &#160;Total sales to automotive customers in 2021 increased $1,960,855, or 12.6%, compared to 2020. &#160;Sales to our non-automotive customers increased $3,262,670, or 36.3%, in 2021 compared to 2020. &#160;The net decline in sales in the fourth quarter of 2021, combined with worsening inflation, resulted in lower fastener segment gross margin of $1,072,310 compared to $1,638,836 in the year earlier quarter, a decline of $566,526. &#160;For the full year 2021, fastener segment gross margins were $5,185,956 compared to $4,170,276 in 2020, an increase of $1,015,680. &#160;The increase in sales for the full year 2021 was the primary factor impacting gross margins for the year.&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><kbd style='margin-left:37.5pt'></kbd>Assembly equipment segment revenues were $761,441 in the fourth quarter of 2021, compared to $933,111 in the fourth quarter of 2020, a decline of $171,670, or 18.4%. &#160;For the full year 2021, assembly equipment segment revenues were $4,143,170, compared to $2,982,790 reported in 2020, an increase of $1,160,380, or 38.9%. &#160;Assembly equipment segment sales in 2021 were the highest annual total since 2007 as the recovery from the COVID-19 pandemic took hold. &#160;Gross margins declined in the fourth quarter of 2021 to $195,237 from $255,296 in the fourth quarter of 2020, due to lower sales volume and due to 2020 revenue being more heavily weighted towards higher margin custom machine sales. &#160;For the full year 2021, assembly equipment segment gross margins improved, along with sales, to $1,279,136 from $744,926 in 2020.&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'> &#160;&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>Selling and administrative expenses were $5,106,177 in 2021 compared to $4,998,216 in 2020, an increase of $107,961, or 2.2%. &#160;The increase was primarily due to a $79,469 increase in commission expense related to the higher sales in 2021. &#160;The remaining net change relates to various smaller items. &#160;As a percentage of net sales, selling and administrative expenses were 15.0% in 2021 compared to 18.1% in 2020.</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><kbd style='margin-left:36pt'></kbd>Other income was $55,557 in 2021 compared to $148,464 in 2020. &#160;Other income is primarily comprised of interest income which declined during the year due to lower interest rates and lower invested balances.&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><kbd style='margin-left:36pt'></kbd>The Company&#8217;s effective income tax rates were 21.3% and 22.9% in 2021 and 2020, respectively.&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><kbd style='margin-left:72pt'></kbd> &#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><b>DIVIDENDS</b></p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>In determining to pay dividends, the Board considers current profitability, the outlook for longer-term profitability, known and potential cash requirements and the overall financial condition of the Company. &#160;At the onset of the COVID-19 pandemic in 2020, the Company reduced the regular quarterly dividend from $0.22 per share to $0.10 per share. &#160;The dividend was restored to the pre-pandemic amount in February 2021. &#160;The Company paid four regular quarterly dividends in 2021 totaling $0.88 per share. &#160;On February 21, 2022, the Board of Directors declared a regular quarterly dividend of $0.22 per share, payable March 18, 2022 to shareholders of record on March 4, 2022. &#160;This continues the uninterrupted record of consecutive quarterly dividends paid by the Company to its shareholders that extends over 88 years.</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#0000FF'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><b>PROPERTY, PLANT AND EQUIPMENT</b></p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>Capital expenditures during 2021 were $670,898. &#160;Of the total, $493,564 related to fastener segment activities, including cold heading equipment additions of $62,600, secondary processing equipment of $360,588 and general plant equipment additions of $70,376. &#160;Additional investments of $177,334 were made in 2021 for facilities improvements that benefit both the assembly equipment segment and the fastener segment.</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 Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>Total capital expenditures in 2020 were $824,136. &#160;Fastener segment additions accounted for $614,835 of the total, including $410,114 for cold heading and screw machine equipment, $97,908 for inspection equipment and $40,000 for equipment to perform secondary operations on parts. The remaining $66,813 of fastener segment additions consisted of parts cleaning and material handling equipment. &#160;Assembly equipment segment additions in 2020 were $13,924 for production equipment. &#160;Investments for the benefit of both operating segments, primarily for building improvements, totaled $195,377 during 2020.</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><kbd style='margin-left:36pt'></kbd>Depreciation expense was $1,318,554 in 2021 and $1,347,305 in 2020.&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#0000FF'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><b>LIQUIDITY AND CAPITAL RESOURCES</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>Working capital at December 31, 2021 was $17,421,585, an increase of $855,296 from the beginning of the year. &#160;The net change was primarily due to an increase in inventory of $3,366,486 which was only partially offset by a reduction in cash, cash equivalents and certificates of deposit of $2,522,777. &#160;In addition to higher prices for raw materials, the increase in inventory was due to accelerated purchases in anticipation of further price increases and to manage the impact of supply chain disruptions. &#160;The Company&#8217;s investing activities in 2021 included the net maturities of certificates of deposit of $1,992,000 and capital expenditures of $670,898. &#160;The only financing activity during 2021 was the payment of $850,196 in dividends. &#160;The Company's holdings in cash, cash equivalents and certificates of deposit amounted to $4,777,954 at the end of 2021.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>Management believes that current cash, cash equivalents and operating cash flow will be sufficient to provide adequate working capital for the next twelve months.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>Off-Balance Sheet Arrangements</b></p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>The Company has not entered into, and has no current plans to enter into, any off-balance sheet financing arrangements. </p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#0000FF'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><b>CRITICAL ACCOUNTING POLICIES AND ESTIMATES</b></p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>The preparation of financial statements and related disclosures 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 at the date of the financial statements and the amounts of revenue and expenses during the reporting period. &#160;We base our estimates and assumptions on historical experience, current trends and on various other assumptions that are believed to be reasonable under the circumstances. &#160;We evaluate our estimates and judgments required by our policies on an ongoing basis and update them as appropriate based on changing conditions. &#160;A summary of critical accounting policies can be found in Note 1 of the financial statements.</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>Critical accounting estimates are those that require application of management&#8217;s most difficult, subjective or complex judgments, often as a result of matters that are inherently uncertain and may change in subsequent periods. &#160;We have reviewed our accounting estimates, and none were deemed to be considered critical for the accounting periods presented. &#160;While we apply our judgment based on assumptions believed to be reasonable under the circumstances, actual results could vary from these assumptions. Additionally, future facts and circumstances could change and impact our estimates and assumptions.</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><b>NEW ACCOUNTING STANDARDS</b></p> <p style='font:10pt Arial;margin:0;color:#000000'> &#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><kbd style='margin-left:36pt'></kbd>The Company&#8217;s financial statements and financial condition were not, and are not expected to be, materially impacted by new, or proposed, accounting standards. &#160;A summary of recent accounting pronouncements can be found in Note 1 of the financial statements.&#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 Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000;text-align:justify'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000;text-align:justify'><b>OUTLOOK FOR 2022</b></p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>As we entered 2021, the introduction of vaccines offered hope of a continued rebound from the pandemic-induced recession and a return to more stable operations. Instead, in addition to ongoing COVID-19 related challenges, we were faced with labor market shortages, supply chain disruptions and inflation at a rate not seen in decades. &#160;All these factors resulted in much higher operating costs and operational challenges. &#160;Nevertheless, financial results in 2021 were more positive than those of 2020 and 2019.</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>As we begin 2022, both our fastener segment and our assembly equipment segment have seen stable demand. &#160;However, demand from automotive sector customers, our primary customer market, continues to be constrained as a shortage of computer chips limits their production activities. &#160;These shortages are expected to persist in the near-term which would negatively impact demand from such customers. &#160;The current high rate of inflation is particularly concerning as it has impacted not only raw materials, but also labor, energy, transportation and other inputs related to production. &#160;Our efforts to pass on these increases have resulted in some success, but continue to be challenged. &#160;We have also had difficulties maintaining staffing at ideal levels due to the tight labor market. &#160;These factors, as well as the uncertainties that COVID-19 still presents, are expected to continue to be obstacles in the near-term.</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>Our healthy financial condition has allowed us to successfully navigate the difficult operating environment brought on by the pandemic and should provide a sound basis for future activities. &#160;We were able to increase our investment in equipment in 2021 compared to the previous year and expect to make additional investments in 2022 as one means to maintain competitiveness. &#160;We will also continue our efforts to develop new customer relationships and build on existing ones in all the markets we serve by emphasizing our experience, quality and customer service in a very competitive global marketplace.</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>The positive results in the past year and our success in a uniquely challenging environment would not have been possible without the conscientious efforts of our dedicated employees, who consistently strive to exceed our customers&#8217; expectations related to quality, price and service. &#160;We are grateful for their contributions as well as for the loyalty of our customers that have placed their confidence in us to help them achieve their goals. &#160;We also take this opportunity to thank our shareholders for their continued support.</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p><div id="vj10"></div> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 7A </b><b>-</b><b> Quantitative and Qualitative Disclosures About Market Risk</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>As a Smaller Reporting Company as defined in Rule 12b-2 of the Exchange Act and in item 10(f)(1) of Regulation S-K, we are electing scaled disclosure reporting obligations with respect to this item and therefore are not required to provide the information requested by this Item 7A.</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 Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p><div id="vj11"></div> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 8 - Financial Statements and Supplementary Data</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:center'>&#160;<span style='border-bottom:1px solid #000000'><b>CONSOLIDATED FINANCIAL STATEMENTS</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:9pt Arial;margin:0'>&#160;</p> <p style='font:9pt Arial;margin:0'>Report of Independent Registered Public Accounting Firm (PCAOB ID: <ix:nonNumeric name='dei:AuditorFirmId' contextRef='Y21' escape='true'>173</ix:nonNumeric>)</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-right:-13.5pt'>&#160;</p> <p style='font:9pt Arial;margin:0'>Consolidated Balance Sheets</p> <p style='font:9pt Arial;margin:0'>&#160;</p> <p style='font:9pt Arial;margin:0'>Consolidated Statements of Income</p> <p style='font:9pt Arial;margin:0'>&#160;</p> <p style='font:9pt Arial;margin:0'>Consolidated Statements of Shareholders&#8217; Equity</p> <p style='font:9pt Arial;margin:0'>&#160;</p> <p style='font:9pt Arial;margin:0'>Consolidated Statements of Cash Flows</p> <p style='font:9pt Arial;margin:0'>&#160;</p> <p style='font:9pt Arial;margin:0'>Notes to Consolidated Financial Statements</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 Arial;margin:0'>&#160;</p> <p style='font:14pt Arial;margin:0'><b>Report of Independent Registered Public Accounting Firm</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'>Shareholders and the Board of Directors of Chicago Rivet &amp; Machine Co.</p> <p style='font:10pt Arial;margin:0;text-align:justify'>Naperville, Illinois</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>Opinion on the Financial Statements</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'>We have audited the accompanying consolidated balance sheets of Chicago Rivet &amp; Machine Co. (the &quot;Company&quot;) as of December 31, 2021 and 2020, the related consolidated statements of income, shareholders&#8217; equity, and cash flows for the years then ended, and the related notes (collectively referred to as the &quot;financial statements&quot;). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2021 and 2020, and the results of its operations and its cash flows for the years then ended, in conformity with accounting principles generally accepted in the United States of America.</p> <p style='font:10pt Arial;margin:0;text-align:justify'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>Basis for Opinion</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'>These financial statements are the responsibility of the Company's management. Our responsibility is to express an opinion on the Company's financial statements based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) (&quot;PCAOB&quot;) 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 Arial;margin:0;text-align:justify'>&#160;</p> <p style='font:10pt Arial;margin:0;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's internal control over financial reporting. Accordingly, we express no such opinion.</p> <p style='font:10pt Arial;margin:0;text-align:justify'>&#160;</p> <p style='font:10pt Arial;margin:0;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 Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>Critical Audit Matters</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'>Critical audit matters 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. We determined that there are no critical audit matters.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>/<ix:nonNumeric name='dei:AuditorName' contextRef='Y21' escape='true'>Crowe LLP</ix:nonNumeric>/</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>We have served as the Company's auditor since 2014.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><ix:nonNumeric name='dei:AuditorLocation' contextRef='Y21' escape='true'>Oak Brook, Illinois</ix:nonNumeric></p> <p style='font:10pt Arial;margin:0'>March 21, 2022</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 Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td colspan='4' valign='bottom' style='background-color:#CEE7FF;width:540pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>CHICAGO RIVET &amp; MACHINE CO.</p> </td></tr>
<tr>
<td colspan='4' valign='bottom' style='width:540pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>Consolidated Balance Sheets</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'>December 31, 2021</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'>December 31, 2020</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>Assets</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Current Assets</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Cash and Cash Equivalents</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:CashAndCashEquivalentsAtCarryingValue' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,036,954</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;<ix:nonFraction name='us-gaap:CashAndCashEquivalentsAtCarryingValue' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,567,731</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Certificates of Deposit</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CertificatesOfDepositAtCarryingValue' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,741,000</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CertificatesOfDepositAtCarryingValue' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,733,000</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000'> &#160;Accounts Receivable - Less allowances of $<ix:nonFraction name='us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>170,000</ix:nonFraction></ix:nonFraction></ix:nonFraction></p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccountsReceivableNetCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,647,984</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccountsReceivableNetCurrent' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,163,450</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Inventories, net</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryNet' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>8,519,780</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryNet' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,153,294</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Prepaid Income Taxes</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PrepaidTaxes' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>440</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PrepaidTaxes' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>85,940</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Other Current Assets</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherAssetsCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>346,236</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherAssetsCurrent' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>383,772</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Total Current Assets</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AssetsCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>19,292,394</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AssetsCurrent' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>18,087,187</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Property, Plant and Equipment, net</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>12,473,864</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>13,150,884</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Total Assets</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:Assets' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>31,766,258</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:Assets' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>31,238,071</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>Liabilities and Shareholders' Equity</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Current Liabilities</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Accounts Payable</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:AccountsPayableCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>692,635</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:AccountsPayableCurrent' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>466,424</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Accrued Wages and Salaries</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EmployeeRelatedLiabilitiesCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>509,332</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EmployeeRelatedLiabilitiesCurrent' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>482,008</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Other Accrued Expenses</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccruedLiabilitiesCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>366,418</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccruedLiabilitiesCurrent' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>322,968</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Unearned Revenue and Customer Deposits</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CustomerAdvancesAndDepositsCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>302,424</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CustomerAdvancesAndDepositsCurrent' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>249,498</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Total Current Liabilities</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:LiabilitiesCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,870,809</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:LiabilitiesCurrent' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,520,898</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Deferred Income Taxes, net </p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredTaxLiabilitiesNoncurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>926,084</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredTaxLiabilitiesNoncurrent' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,011,084</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Total Liabilities</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Liabilities' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,796,893</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Liabilities' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,531,982</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Commitments and contingencies (Note 7)</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Shareholders' Equity</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'><span style='font-family:Times New Roman'> </span> &#160;&#160;&#160;Preferred Stock, <ix:nonFraction name='us-gaap:PreferredStockParOrStatedValuePerShare' contextRef='E21' unitRef='UsdPerShare' decimals='INF' format='ixt-sec:numwordsen'><ix:nonFraction name='us-gaap:PreferredStockParOrStatedValuePerShare' contextRef='E20' unitRef='UsdPerShare' decimals='INF' format='ixt-sec:numwordsen'>No</ix:nonFraction></ix:nonFraction> Par Value, <ix:nonFraction name='us-gaap:PreferredStockSharesAuthorized' contextRef='E21' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:PreferredStockSharesAuthorized' contextRef='E20' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>500,000</ix:nonFraction></ix:nonFraction> Shares Authorized: <ix:nonFraction name='us-gaap:PreferredStockSharesOutstanding' contextRef='E21' unitRef='Shares' decimals='INF' format='ixt-sec:numwordsen'><ix:nonFraction name='us-gaap:PreferredStockSharesOutstanding' contextRef='E20' unitRef='Shares' decimals='INF' format='ixt-sec:numwordsen'>None</ix:nonFraction></ix:nonFraction> Outstanding</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PreferredStockValue' contextRef='E21' unitRef='USD' decimals='128' format='ixt:zerodash'>-</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PreferredStockValue' contextRef='E20' unitRef='USD' decimals='128' format='ixt:zerodash'>-</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'><span style='color:#00B050'> &#160;&#160;&#160;</span>Common Stock, $<ix:nonFraction name='us-gaap:CommonStockParOrStatedValuePerShare' contextRef='E21' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:CommonStockParOrStatedValuePerShare' contextRef='E20' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>1.00</ix:nonFraction></ix:nonFraction> Par Value, <ix:nonFraction name='us-gaap:CommonStockSharesAuthorized' contextRef='E21' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:CommonStockSharesAuthorized' contextRef='E20' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,000,000</ix:nonFraction></ix:nonFraction> Shares Authorized: <ix:nonFraction name='us-gaap:CommonStockSharesIssued' contextRef='E21' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:CommonStockSharesIssued' contextRef='E20' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,138,096</ix:nonFraction></ix:nonFraction> Shares Issued, <ix:nonFraction name='us-gaap:CommonStockSharesOutstanding' contextRef='E21' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:CommonStockSharesOutstanding' contextRef='E20' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction></ix:nonFraction><span style='color:#0070C0'> </span>Shares Outstanding</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CommonStockValueOutstanding' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,138,096</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CommonStockValueOutstanding' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,138,096</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;Additional Paid-in Capital</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AdditionalPaidInCapitalCommonStock' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>447,134</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AdditionalPaidInCapitalCommonStock' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>447,134</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;Retained Earnings</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RetainedEarningsAccumulatedDeficit' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>31,306,233</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RetainedEarningsAccumulatedDeficit' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>31,042,957</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;Treasury Stock, 171,964 Shares at cost</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:TreasuryStockValue' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,922,098</ix:nonFraction>)&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:TreasuryStockValue' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,922,098</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Total Shareholders' Equity</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>28,969,365</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>28,706,089</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Total Liabilities and Shareholders' Equity</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:LiabilitiesAndStockholdersEquity' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>31,766,258</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:LiabilitiesAndStockholdersEquity' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>31,238,071</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:459pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>The accompanying notes are an integral part of the Consolidated Financial Statements.</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr> </table> <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'>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 Courier New;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>
<table style='border-collapse:collapse'>
<tr>
<td colspan='4' valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>CHICAGO RIVET &amp; MACHINE CO.</p> </td></tr>
<tr>
<td colspan='4' valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>Consolidated Statements of Income</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:36.45pt'>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'></td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'>Year Ended December 31, 2021</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'>Year Ended December 31, 2020</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Net Sales</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;$ &#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:Revenues' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>33,974,558</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;$ &#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:Revenues' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>27,590,653</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Cost of Goods Sold </p> </td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:CostOfRevenue' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>27,509,466</ix:nonFraction></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:CostOfRevenue' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>22,675,451</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Gross Profit</p> </td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:GrossProfit' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>6,465,092</ix:nonFraction></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:GrossProfit' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,915,202</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Selling and Administrative Expenses</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:SellingGeneralAndAdministrativeExpense' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,106,177</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:SellingGeneralAndAdministrativeExpense' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,998,216</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Operating Profit (Loss) </p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;&#160;&#160; &#160;&#160; &#160;<ix:nonFraction name='us-gaap:OperatingIncomeLoss' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,358,915</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;&#160;&#160; &#160;&#160; &#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:OperatingIncomeLoss' contextRef='Y20' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>83,014</ix:nonFraction>)</p> </td></tr>
<tr>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Other Income</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160; &#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:OtherNonoperatingIncomeExpense' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>55,557</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:OtherNonoperatingIncomeExpense' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>148,464</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Income Before Income Taxes</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,414,472</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>65,450</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Provision for Income Taxes</p> </td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;<ix:nonFraction name='us-gaap:IncomeTaxExpenseBenefit' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>301,000</ix:nonFraction></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;<ix:nonFraction name='us-gaap:IncomeTaxExpenseBenefit' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>15,000</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Net Income</p> </td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0'> $ &#160;&#160;&#160;&#160; &#160;&#160;<ix:nonFraction name='us-gaap:NetIncomeLoss' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,113,472</ix:nonFraction></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0'> $ &#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;<ix:nonFraction name='us-gaap:NetIncomeLoss' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>50,450</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Net Income Per Share&#160;</p> </td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsPerBasicAndDilutedShare' contextRef='Y21' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>1.15</ix:nonFraction></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsPerBasicAndDilutedShare' contextRef='Y20' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.05</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td colspan='4' valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>The accompanying notes are an integral part of the Consolidated Financial Statements.</p> </td></tr> </table> <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'>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> <p style='font:10pt Courier New;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:9pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'>
<tr style='height:6.9pt'>
<td colspan='9' valign='bottom' style='background-color:#CEE7FF;width:100%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:center'>CHICAGO RIVET &amp; MACHINE CO.</p> </td></tr>
<tr style='height:6.9pt'>
<td colspan='9' valign='bottom' style='width:100%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:center'>Consolidated Statements of Shareholders&#8217; Equity</p> </td></tr>
<tr style='height:6.9pt'>
<td valign='top' style='background-color:#CEE7FF;width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:7.76%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:9.06%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:10.62%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:11.78%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:7.9%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:12.36%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:6.9pt'>
<td valign='top' style='width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:7.76%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:19.68%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'>Common Stock</p> </td>
<td valign='top' style='width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:11.78%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:17.86%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'>Treasury Stock, At Cost</p> </td>
<td valign='top' style='width:12.36%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:6.9pt'>
<td valign='bottom' style='background-color:#CEE7FF;width:20.58%;padding-left:5.75pt;padding-right:5.75pt'></td>
<td valign='bottom' style='background-color:#CEE7FF;width:7.76%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Preferred Stock</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.06%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Shares</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:10.62%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Amount</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Additional Paid-In Capital</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:11.78%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Retained Earnings</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:7.9%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Shares</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Amount</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:12.36%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Total Shareholders&#8217; Equity</span></p> </td></tr>
<tr style='height:6.9pt'>
<td valign='top' style='width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:7.76%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:9.06%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:10.62%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:11.78%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:7.9%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:12.36%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:10.8pt'>
<td valign='bottom' style='background-color:#CEE7FF;width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>Balance, December 31, 2019</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:7.76%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ <ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E19_StEqComps-PrefStock' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.06%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CommonStockSharesOutstanding' contextRef='E19_StEqComps-CommonStock' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:10.62%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E19_StEqComps-CommonStock' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,138,096</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E19_StEqComps-AddPaidInCap' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>447,134</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:11.78%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E19_StEqComps-RetainedEarnings' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>31,494,895</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:7.9%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:TreasuryStockShares' contextRef='E19_StEqComps-TreasuryStock' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>171,964</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;(<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E19_StEqComps-TreasuryStock' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,922,098</ix:nonFraction>)</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:12.36%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E19' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>29,158,027</ix:nonFraction></p> </td></tr>
<tr style='height:10.8pt'>
<td valign='bottom' style='width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>Net Income</p> </td>
<td valign='bottom' style='width:7.76%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9.06%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:10.62%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:11.78%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:NetIncomeLoss' contextRef='Y20_StEqComps-RetainedEarnings' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>50,450</ix:nonFraction></p> </td>
<td valign='bottom' style='width:7.9%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:12.36%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:NetIncomeLoss' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>50,450</ix:nonFraction></p> </td></tr>
<tr style='height:10.8pt'>
<td valign='bottom' style='background-color:#CEE7FF;width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>Dividends Declared ($<ix:nonFraction name='us-gaap:CommonStockDividendsPerShareDeclared' contextRef='Y20' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.52</ix:nonFraction> per share)</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:7.76%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.06%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:10.62%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:11.78%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:Dividends' contextRef='Y20_StEqComps-RetainedEarnings' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>502,388</ix:nonFraction>)</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:7.9%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:12.36%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:Dividends' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>502,388</ix:nonFraction>)</p> </td></tr>
<tr style='height:10.8pt'>
<td valign='bottom' style='width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>Balance, December 31, 2020</p> </td>
<td valign='bottom' style='width:7.76%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ <ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E20_StEqComps-PrefStock' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='width:9.06%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CommonStockSharesOutstanding' contextRef='E20_StEqComps-CommonStock' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction></p> </td>
<td valign='bottom' style='width:10.62%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ <ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E20_StEqComps-CommonStock' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,138,096</ix:nonFraction></p> </td>
<td valign='bottom' style='width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E20_StEqComps-AddPaidInCap' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>447,134</ix:nonFraction></p> </td>
<td valign='bottom' style='width:11.78%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E20_StEqComps-RetainedEarnings' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>31,042,957</ix:nonFraction></p> </td>
<td valign='bottom' style='width:7.9%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:TreasuryStockShares' contextRef='E20_StEqComps-TreasuryStock' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>171,964</ix:nonFraction></p> </td>
<td valign='bottom' style='width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;(<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E20_StEqComps-TreasuryStock' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,922,098</ix:nonFraction>)</p> </td>
<td valign='bottom' style='width:12.36%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>28,706,089</ix:nonFraction></p> </td></tr>
<tr style='height:10.8pt'>
<td valign='bottom' style='background-color:#CEE7FF;width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>Net Income</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:7.76%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.06%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:10.62%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:11.78%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:NetIncomeLoss' contextRef='Y21_StEqComps-RetainedEarnings' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,113,472</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:7.9%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:12.36%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:NetIncomeLoss' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,113,472</ix:nonFraction></p> </td></tr>
<tr style='height:10.8pt'>
<td valign='bottom' style='width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>Dividends Declared ($<ix:nonFraction name='us-gaap:CommonStockDividendsPerShareDeclared' contextRef='Y21' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.88</ix:nonFraction> per share)</p> </td>
<td valign='bottom' style='width:7.76%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9.06%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:10.62%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:11.78%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:Dividends' contextRef='Y21_StEqComps-RetainedEarnings' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>850,196</ix:nonFraction>)</p> </td>
<td valign='bottom' style='width:7.9%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:12.36%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:Dividends' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>850,196</ix:nonFraction>)</p> </td></tr>
<tr style='height:10.8pt'>
<td valign='bottom' style='background-color:#CEE7FF;width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>Balance, December 31, 2021</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:7.76%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ <ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E21_StEqComps-PrefStock' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.06%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CommonStockSharesOutstanding' contextRef='E21_StEqComps-CommonStock' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:10.62%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ <ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E21_StEqComps-CommonStock' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,138,096</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E21_StEqComps-AddPaidInCap' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>447,134</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:11.78%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E21_StEqComps-RetainedEarnings' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>31,306,233</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:7.9%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:TreasuryStockShares' contextRef='E21_StEqComps-TreasuryStock' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>171,964</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;(<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E21_StEqComps-TreasuryStock' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,922,098</ix:nonFraction>)</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:12.36%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>28,969,365</ix:nonFraction></p> </td></tr>
<tr style='height:6.9pt'>
<td valign='top' style='width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:7.76%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:9.06%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:10.62%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:11.78%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:7.9%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:12.36%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:6.9pt'>
<td valign='top' style='background-color:#CEE7FF;width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:7.76%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:9.06%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:10.62%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:11.78%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:7.9%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:12.36%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:6.9pt'>
<td colspan='9' valign='top' style='width:100%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'><span style='font-size:9pt'>The accompanying notes are an integral part of the Consolidated Financial Statements.</span></p> </td></tr> </table> <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'>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 Courier New;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'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td colspan='4' valign='bottom' style='background-color:#CEE7FF;width:437.85pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>CHICAGO RIVET &amp; MACHINE CO.</p> </td></tr>
<tr>
<td colspan='4' valign='bottom' style='width:437.85pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>Consolidated Statements of Cash Flows</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:37.8pt'>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'>Year Ended December 31, 2021</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'>Year Ended December 31, 2020</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Cash Flows from Operating Activities:</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Net Income</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:NetIncomeLoss' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,113,472</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:NetIncomeLoss' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>50,450</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Adjustments to Reconcile Net Income to Net Cash (Used in) Provided by Operating Activities: </p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Depreciation and Amortization</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Depreciation' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,318,554</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Depreciation' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,347,305</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Loss on the Sale of Equipment</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GainLossOnDispositionOfAssets' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>21,564</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GainLossOnDispositionOfAssets' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'><span style='color:#833C0B'> &#160;</span>Deferred Income Taxes</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:DeferredIncomeTaxExpenseBenefit' contextRef='Y21' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>85,000</ix:nonFraction>)&#160;&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredIncomeTaxExpenseBenefit' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>68,000</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'><span style='color:#00B0F0'> &#160;</span>Changes in Operating Assets and Liabilities:</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;Accounts Receivable, net</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInAccountsReceivable' contextRef='Y21' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>484,534</ix:nonFraction>)&#160;&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInAccountsReceivable' contextRef='Y20' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>554,136</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'><span style='color:#833C0B'> &#160;&#160;&#160;</span>Inventories, net</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInInventories' contextRef='Y21' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,366,486</ix:nonFraction>)&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInInventories' contextRef='Y20' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>202,117</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;Other Current Assets</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncreaseDecreaseInOtherOperatingAssets' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>123,036</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncreaseDecreaseInOtherOperatingAssets' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>15,666</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;Accounts Payable</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncreaseDecreaseInAccountsPayable' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>226,211</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInAccountsPayable' contextRef='Y20' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>24,156</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;Accrued Wages and Salaries</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>27,324</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities' contextRef='Y20' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>147,964</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'><span style='color:#833C0B'> &#160;&#160;&#160;</span>Other Accrued Expenses</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncreaseDecreaseInOtherAccruedLiabilities' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>43,450</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInOtherAccruedLiabilities' contextRef='Y20' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>26,101</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'><span style='color:#833C0B'> &#160;&#160;</span> Unearned Revenue and Customer Deposits</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncreaseDecreaseInCustomerAdvancesAndDeposits' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>52,926</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncreaseDecreaseInCustomerAdvancesAndDeposits' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>96,854</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'><span style='color:#00B050'> &#160;&#160;&#160;&#160;&#160;</span>Net Cash (Used in) Provided by Operating Activities</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:NetCashProvidedByUsedInOperatingActivities' contextRef='Y21' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,009,483</ix:nonFraction>)&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:NetCashProvidedByUsedInOperatingActivities' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>623,801</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Cash Flows from Investing Activities:</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Capital Expenditures</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:PaymentsToAcquireProductiveAssets' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>670,898</ix:nonFraction>)&#160;&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:PaymentsToAcquireProductiveAssets' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>824,136</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Proceeds from the Sale of Equipment</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>7,800</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Proceeds from Certificates of Deposit</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,484,000</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>6,574,000</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Purchases of Certificates of Deposit</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:PaymentsToAcquireHeldToMaturitySecurities' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,492,000</ix:nonFraction>)&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:PaymentsToAcquireHeldToMaturitySecurities' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,733,000</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;Net Cash Provided by Investing Activities</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:NetCashProvidedByUsedInInvestingActivities' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,328,902</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:NetCashProvidedByUsedInInvestingActivities' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,016,864</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Cash Flows from Financing Activities:</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Cash Dividends Paid</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:PaymentsOfDividendsCommonStock' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>850,196</ix:nonFraction>)&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:PaymentsOfDividendsCommonStock' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>502,388</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;Net Cash Used in Financing Activities</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:NetCashProvidedByUsedInFinancingActivities' contextRef='Y21' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>850,196</ix:nonFraction>)&#160;&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:NetCashProvidedByUsedInFinancingActivities' contextRef='Y20' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>502,388</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Net (Decrease) Increase in Cash and Cash Equivalents</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease' contextRef='Y21' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>530,777</ix:nonFraction>)&#160;&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,138,277</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Cash and Cash Equivalents:</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Beginning of Year</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CashAndCashEquivalentsAtCarryingValue' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,567,731</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CashAndCashEquivalentsAtCarryingValue' contextRef='E19' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,429,454</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>End of Year</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:CashAndCashEquivalentsAtCarryingValue' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,036,954</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:CashAndCashEquivalentsAtCarryingValue' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,567,731</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#FF0000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Net Cash Paid (Refunds Received) for Income Taxes</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:IncomeTaxesPaid' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>300,500</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:ProceedsFromIncomeTaxRefunds' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>25,246</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td colspan='4' valign='bottom' style='background-color:#CEE7FF;width:437.85pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>The accompanying notes are an integral part of the Consolidated Financial Statements.</p> </td></tr> </table> <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'>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> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-right:-5.75pt;color:#000000'><b>Notes to Consolidated Financial Statements</b></p> <ix:nonNumeric name='us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock' contextRef='Y21' escape='true' continuedAt='c1'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>1 - Nature of Business and Significant Accounting Policies</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>Nature of Business-</b>The Company operates in the fastener industry and is in the business of producing and selling rivets, cold-formed fasteners and parts, screw machine products, automatic rivet setting machines and parts and tools for such machines.</p> <p style='font:10pt Courier New;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>A summary of the Company&#8217;s significant accounting policies follows:</b></p> <ix:nonNumeric name='us-gaap:ConsolidationPolicyTextBlock' contextRef='Y21' escape='true'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>Principles of Consolidation-</b>The consolidated financial statements include the accounts of Chicago Rivet &amp; Machine Co. and its wholly-owned subsidiary, H &amp; L Tool Company, Inc. (&#8220;H &amp; L Tool&#8221;). &#160;All significant intercompany accounts and transactions have been eliminated.</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure' contextRef='Y21' escape='true'><p style='font:10pt Arial;margin:0'><b>Revenue Recognition-</b> Revenue is recognized when control of the promised goods or services is transferred to our customers, generally upon shipment of goods or completion of services, in an amount that reflects the consideration we expect to receive in exchange for those goods or services. &#160;Sales taxes we may collect concurrent with revenue producing activities are excluded from revenue. &#160;Revenue is recognized net of certain sales adjustments to arrive at net sales as reported on the statement of income. &#160;These adjustments primarily relate to customer returns and allowances, which vary over time. &#160;The Company records a liability and reduction in sales for estimated product returns based upon historical experience. &#160;If we determine that our obligation under warranty claims is probable and subject to reasonable determination, an estimate of that liability is recorded as an offset against revenue at that time. &#160;As of December 31, 2021 and 2020, reserves for warranty claims were not material. &#160;Cash received by the Company prior to shipment is recorded as unearned revenue. &#160;In 2021 and 2020 the Company recognized revenue from such payments of $<ix:nonFraction name='us-gaap:ContractWithCustomerLiabilityRevenueRecognized' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>248,799</ix:nonFraction> and $<ix:nonFraction name='us-gaap:ContractWithCustomerLiabilityRevenueRecognized' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>151,944</ix:nonFraction>, respectively, that was included in the unearned revenue balance at the beginning of the period. &#160;Shipping and handling fees billed to customers are recognized in net sales, and related costs as cost of sales, when incurred.</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:ConcentrationRiskCreditRisk' contextRef='Y21' escape='true'><p style='font:10pt Arial;margin:0'><b>Credit Risk-</b>The Company extends credit on the basis of terms that are customary within our markets to various companies doing business primarily in the automotive industry. &#160;The Company has a concentration of credit risk primarily within the automotive industry and in the Midwestern United States. &#160;The Company has established an allowance for accounts that may become uncollectible in the future. &#160;This estimated allowance is based primarily on management's evaluation of the financial condition of the customer and historical experience. &#160;The Company monitors its accounts receivable and charges to expense an amount equal to its estimate of potential credit losses. &#160;The Company considers a number of factors in determining its estimates, including the length of time its trade accounts receivable are past due, the Company's previous loss history and the customer's current ability to pay its obligation. &#160;Accounts receivable balances are charged off against the allowance when it is determined that the receivable will not be recovered.</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:CashAndCashEquivalentsPolicyTextBlock' contextRef='Y21' escape='true'><p style='font:10pt Arial;margin:0'><b>Cash and Cash Equivalents and Certificates of Deposit-</b>The Company considers all highly liquid investments, including certificates of deposit, with a maturity of three months or less when purchased to be cash equivalents. &#160;Certificates of deposit with an original maturity of greater than three months are separately presented at cost which approximates market value. &#160;The Company maintains cash on deposit in several financial institutions. At times, the account balances may be in excess of Federal Deposit Insurance Corporation insured limits.</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:FairValueOfFinancialInstrumentsPolicy' contextRef='Y21' escape='true'><p style='font:10pt Arial;margin:0'><b>Fair Value of Financial Instruments-</b>The carrying amounts reported in the consolidated balance sheets for cash and cash equivalents, certificates of deposit, accounts receivable and accounts payable approximate fair value based on their short-term nature.</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:InventoryPolicyTextBlock' contextRef='Y21' escape='true'><p style='font:10pt Arial;margin:0'><b>Inventories-</b>Inventories are stated at the lower of cost or net realizable value, cost being determined by the first-in, first-out method. &#160;The value of inventories is reduced for estimated excess and obsolete inventories based on a review of on-hand inventories compared to historical and estimated future sales and usage.</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</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'>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> <ix:continuation id='c1' continuedAt='c2'><p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentPolicyTextBlock' contextRef='Y21' escape='true'><p style='font:10pt Arial;margin:0'><b>Property, Plant and Equipment-</b>Properties are stated at cost and are depreciated over their estimated useful lives using the straight-line method for financial reporting purposes. &#160;Accelerated methods of depreciation are used for income tax purposes. &#160;Direct costs related to developing or obtaining software for internal use are capitalized as property and equipment. &#160;Capitalized software costs are amortized over the software&#8217;s useful life when the software is placed in service. &#160;The estimated useful lives by asset category are:</p> <p style='font:10pt Courier New;margin:0'>&#160;</p>
<table style='margin:0 auto;border-collapse:collapse;width:277pt'>
<tr>
<td valign='top' style='width:162.55pt'><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><i>Asset Category</i></span></p> </td>
<td valign='top' style='width:114.45pt'><p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><i>Estimated Useful Life</i></span></p> </td></tr>
<tr>
<td valign='top' style='width:162.55pt'><p style='font:10pt Arial;margin:0'>Land improvements&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td valign='top' style='width:114.45pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y21_Range-Minimum_PpeByType-LandImprovements' format='ixt-sec:duryear'>15</ix:nonNumeric> to <ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y21_Range-Maximum_PpeByType-LandImprovements' format='ixt-sec:duryear'>40</ix:nonNumeric> years</p> </td></tr>
<tr>
<td valign='top' style='width:162.55pt'><p style='font:10pt Arial;margin:0'>Buildings and improvements&#8230;&#8230;</p> </td>
<td valign='top' style='width:114.45pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y21_Range-Minimum_PpeByType-BuildingImprovements' format='ixt-sec:duryear'>10</ix:nonNumeric> to <ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y21_Range-Maximum_PpeByType-BuildingImprovements' format='ixt-sec:duryear'>40</ix:nonNumeric> years</p> </td></tr>
<tr>
<td valign='top' style='width:162.55pt'><p style='font:10pt Arial;margin:0'>Machinery and equipment&#8230;&#8230;&#8230;</p> </td>
<td valign='top' style='width:114.45pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y21_Range-Minimum_PpeByType-MachineryAndEquipment' format='ixt-sec:duryear'>5</ix:nonNumeric> to <ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y21_Range-Maximum_PpeByType-MachineryAndEquipment' format='ixt-sec:duryear'>18</ix:nonNumeric> years</p> </td></tr>
<tr>
<td valign='top' style='width:162.55pt'><p style='font:10pt Arial;margin:0'>Capitalized software costs&#8230;&#8230;&#8230;</p> </td>
<td valign='top' style='width:114.45pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y21_Range-Minimum_PpeByType-SoftwareAndSoftwareDvlpCosts' format='ixt-sec:duryear'>3</ix:nonNumeric> to <ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y21_Range-Maximum_PpeByType-SoftwareAndSoftwareDvlpCosts' format='ixt-sec:duryear'>5</ix:nonNumeric> years</p> </td></tr>
<tr>
<td valign='top' style='width:162.55pt'><p style='font:10pt Arial;margin:0'>Other equipment&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td valign='top' style='width:114.45pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y21_Range-Minimum_PpeByType-OtherCapizedPpe' format='ixt-sec:duryear'>3</ix:nonNumeric> to <ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y21_Range-Maximum_PpeByType-OtherCapizedPpe' format='ixt-sec:duryear'>10</ix:nonNumeric> years</p> </td></tr> </table> <p style='font:10pt Courier New;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>The Company reviews the carrying value of property, plant and equipment for impairment whenever events and circumstances indicate that the carrying value of an asset may not be recoverable from the estimated future cash flows expected to result from its use and eventual disposition. &#160;In cases where undiscounted expected future cash flows are less than the carrying value, an impairment loss is recognized equal to an amount by which the carrying value exceeds the fair value of assets. &#160;There were no triggering events requiring assessment of impairment as of December 31, 2021 and 2020.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>When properties are retired or sold, the related cost and accumulated depreciation are removed from the respective accounts, and any gain or loss on disposition is recognized in current operations. &#160;Maintenance, repairs and minor betterments that do not improve the related asset or extend its useful life are charged to operations as incurred. </p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:IncomeTaxPolicyTextBlock' contextRef='Y21' escape='true'><p style='font:10pt Arial;margin:0'><b>Income Taxes&#8212;</b>Deferred income taxes are determined under the asset and liability method. &#160;Deferred income taxes arise from temporary differences between the income tax basis of assets and liabilities and their reported amounts in the financial statements. &#160;Deferred taxes are shown on the balance sheet as a net long-term asset or liability.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>The Company applies a comprehensive model for the financial statement recognition, measurement, classification and disclosure of uncertain tax positions.&#160; In the first step of the two-step process, the Company evaluates the tax position for recognition by determining if the weight of available evidence indicates that it is more likely than not that the position will be sustained on audit, including resolution of related appeals or litigation processes, if any.&#160; In the second step, the Company measures the tax benefit as the largest amount that is more than 50% likely of being realized upon settlement.&#160; As of December 31, 2021 and 2020, the Company determined that there are <ix:nonFraction name='us-gaap:LiabilityForUncertainTaxPositionsCurrent' contextRef='E21' unitRef='USD' decimals='INF' format='ixt-sec:numwordsen'><ix:nonFraction name='us-gaap:LiabilityForUncertainTaxPositionsCurrent' contextRef='E20' unitRef='USD' decimals='INF' format='ixt-sec:numwordsen'>no</ix:nonFraction></ix:nonFraction> uncertain tax positions with a more than 50% likelihood of being realized upon settlement.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>The Company classifies interest and penalties related to unrecognized tax benefits as a component of income tax expense. &#160;There were <ix:nonFraction name='us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' contextRef='Y21' unitRef='USD' decimals='INF' format='ixt-sec:numwordsen'><ix:nonFraction name='us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' contextRef='Y20' unitRef='USD' decimals='INF' format='ixt-sec:numwordsen'>no</ix:nonFraction></ix:nonFraction> such expenses in 2021 or 2020.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>The Company&#8217;s federal income tax returns for the 2018 through 2020 tax years are subject to examination by the Internal Revenue Service (&#8220;IRS&#8221;). &#160;While it may be possible that a reduction could occur with respect to the Company&#8217;s unrecognized tax benefits as an outcome of an IRS examination, management does not anticipate any adjustments that would result in a material change to the results of operations or financial condition of the Company.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>No statutes have been extended on any of the Company&#8217;s federal income tax filings. The statute of limitations on the Company&#8217;s 2018, 2019 and 2020 federal income tax returns will expire on September 15, 2022, 2023 and 2024, respectively.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>The Company&#8217;s state income tax returns for the 2018 through 2020 tax years are subject to examination by various state authorities with the latest closing period on October 31, 2024. &#160;The Company is currently not under examination by any state authority for income tax purposes and no statutes for state income tax filings have been extended.</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'>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> <ix:continuation id='c2'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:SegmentReportingPolicyPolicyTextBlock' contextRef='Y21' escape='true'><p style='font:10pt Arial;margin:0'><b>Segment Information-</b>The Company reports segment information based on the internal structure and reporting of the Company&#8217;s operations.</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:EarningsPerSharePolicyTextBlock' contextRef='Y21' escape='true'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>Net Income Per Share-</b> Net income per share of common stock is based on the weighted average number of shares outstanding of <ix:nonFraction name='us-gaap:WeightedAverageNumberOfSharesOutstandingBasic' contextRef='Y21' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:WeightedAverageNumberOfSharesOutstandingBasic' contextRef='Y20' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction></ix:nonFraction> in 2021 and 2020.</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:UseOfEstimates' contextRef='Y21' escape='true'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'><span style='font-family:Arial'><b>Use of Estimates-</b>The preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and the accompanying notes. &#160;Significant items subject to estimates and assumptions include depreciable lives, deferred taxes and valuation allowances for accounts receivable and inventory obsolescence. &#160;Actual results could differ from those estimates.</span></p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock' contextRef='Y21' escape='true'><p style='font:10pt Arial;margin:0'><b>Recent Accounting Pronouncements-</b> In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments&#160;- Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments and in November 2018 issued an amendment, ASU 2018-19, Codification Improvements to Topic 326, Financial Instruments &#8211;&#160;Credit Losses. &#160;ASU 2016-13 amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments, including trade receivables. This may result in the earlier recognition of allowances for losses. ASU 2016-13 and ASU 2018-19 should be applied on either a prospective transition or modified-retrospective approach depending on the subtopic. &#160;ASU 2016-13 is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years, with early adoption permitted. The Company believes that the most notable impact of this ASU relates to its processes around the assessment of the adequacy of its allowance for doubtful accounts on trade accounts receivable and is not expected to have a material impact on our consolidated financial statements.</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0;text-align:justify'>&#160;</p> </ix:continuation><ix:nonNumeric name='us-gaap:SupplementalBalanceSheetDisclosuresTextBlock' contextRef='Y21' escape='true' continuedAt='c3'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>2 - Balance Sheet Details</b></p> <ix:nonNumeric name='us-gaap:ScheduleOfInventoryCurrentTableTextBlock' contextRef='Y21' escape='true'><p style='font:10pt Courier New;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'></td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:center'><b>December 31,</b></p> <p style='font:10pt Arial;margin:0;text-align:center'><b>2021</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:center'>December 31,</p> <p style='font:10pt Arial;margin:0;text-align:center'>2020</p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'>Inventories:</p> </td>
<td valign='bottom' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>Raw materials</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b>$&#160;<ix:nonFraction name='us-gaap:InventoryRawMaterials' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,645,923</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>$&#160;<ix:nonFraction name='us-gaap:InventoryRawMaterials' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,245,709</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:216pt'><p style='font:10pt Arial;margin:0'>Work in process</p> </td>
<td valign='bottom' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:InventoryWorkInProcess' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,181,457</ix:nonFraction></b></p> </td>
<td valign='bottom' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryWorkInProcess' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,410,868</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>Finished goods</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:InventoryFinishedGoods' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,304,400</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryFinishedGoods' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,096,717</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:216pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:90pt;border-top:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>9,131,780</b></p> </td>
<td valign='bottom' style='width:90pt;border-top:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'>5,753,294</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>Valuation reserves</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:InventoryValuationReserves' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>612,000</ix:nonFraction>)</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:InventoryValuationReserves' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>600,000</ix:nonFraction>)</p> </td></tr>
<tr>
<td valign='top' style='width:216pt'></td>
<td valign='bottom' style='width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>$&#160;<ix:nonFraction name='us-gaap:InventoryNet' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>8,519,780</ix:nonFraction></b></p> </td>
<td valign='bottom' style='width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'>$&#160;<ix:nonFraction name='us-gaap:InventoryNet' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,153,294</ix:nonFraction></p> </td></tr> </table> <p style='font:10pt Courier New;margin:0'>&#160;</p> </ix:nonNumeric><p style='font:10pt Courier New;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentTextBlock' contextRef='Y21' escape='true'><p style='font:10pt Courier New;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'></td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:center'><b>December 31,</b></p> <p style='font:10pt Arial;margin:0;text-align:center'><b>2021</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:center'>December 31,</p> <p style='font:10pt Arial;margin:0;text-align:center'>2020</p> </td></tr>
<tr style='height:13.95pt'>
<td valign='bottom' style='width:216pt'><p style='font:10pt Arial;margin:0'>Property, Plant and Equipment, net:</p> </td>
<td valign='top' style='width:90pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:90pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>Land and improvements</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b>$&#160;<ix:nonFraction name='us-gaap:LandAndLandImprovements' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,778,819</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>$&#160;<ix:nonFraction name='us-gaap:LandAndLandImprovements' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,636,749</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:216pt'><p style='font:10pt Arial;margin:0'>Buildings and improvements</p> </td>
<td valign='bottom' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:BuildingsAndImprovementsGross' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>8,456,983</ix:nonFraction></b></p> </td>
<td valign='bottom' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:BuildingsAndImprovementsGross' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>8,534,317</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>Machinery and equipment</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:MachineryAndEquipmentGross' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>35,618,735</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:MachineryAndEquipmentGross' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>35,194,944</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:216pt'><p style='font:10pt Arial;margin:0'>Capitalized software and other</p> </td>
<td valign='bottom' style='width:90pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentOther' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,060,379</ix:nonFraction></b></p> </td>
<td valign='bottom' style='width:90pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentOther' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,045,027</ix:nonFraction></p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:13pt Arial Narrow;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>46,914,916</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'>46,411,037</p> </td></tr>
<tr>
<td valign='bottom' style='width:216pt'><p style='font:10pt Arial;margin:0'>Accumulated depreciation</p> </td>
<td valign='bottom' style='width:90pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>34,441,052</ix:nonFraction>)</b></p> </td>
<td valign='bottom' style='width:90pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>33,260,153</ix:nonFraction>)</p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'></td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>$&#160;<ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentOtherNet' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>12,473,864</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'>$&#160;<ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentOtherNet' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>13,150,884</ix:nonFraction></p> </td></tr> </table> <p style='font:10pt Courier New;margin:0'>&#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'>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> <ix:continuation id='c3'><p style='font:10pt Courier New;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock' contextRef='Y21' escape='true'><p style='font:10pt Courier New;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'></td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:center'><b>December 31,</b></p> <p style='font:10pt Arial;margin:0;text-align:center'><b>2021</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:center'>December 31,</p> <p style='font:10pt Arial;margin:0;text-align:center'>2020</p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'>Other Accrued Expenses:</p> </td>
<td valign='top' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='top' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>Profit sharing plan contribution</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b>$&#160;<ix:nonFraction name='us-gaap:OtherEmployeeRelatedLiabilitiesCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>145,000</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>$&#160;<ix:nonFraction name='us-gaap:OtherEmployeeRelatedLiabilitiesCurrent' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>120,000</ix:nonFraction></p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'>Property taxes</p> </td>
<td valign='bottom' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>80,269</ix:nonFraction></b></p> </td>
<td valign='bottom' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>84,570</ix:nonFraction></p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>All other items </p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:OtherAccruedLiabilitiesCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>141,149</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherAccruedLiabilitiesCurrent' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>118,398</ix:nonFraction></p> </td></tr>
<tr>
<td valign='top' style='width:216pt'></td>
<td valign='bottom' style='width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>$&#160;<ix:nonFraction name='us-gaap:AccruedLiabilitiesCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>366,418</ix:nonFraction></b></p> </td>
<td valign='bottom' style='width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'>$&#160;<ix:nonFraction name='us-gaap:AccruedLiabilitiesCurrent' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>322,968</ix:nonFraction></p> </td></tr> </table> <p style='font:10pt Courier New;margin:0'>&#160;</p> </ix:nonNumeric><p style='font:10pt Courier New;margin:0'>&#160;</p> <ix:nonNumeric name='srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock' contextRef='Y21' escape='true'><p style='font:10pt Courier New;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:center'><b>December 31,</b></p> <p style='font:10pt Arial;margin:0;text-align:center'><b>2021</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:center'>December 31,</p> <p style='font:10pt Arial;margin:0;text-align:center'>2020</p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'>Allowance for Doubtful Accounts:</p> </td>
<td valign='top' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='top' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'> &#160;Balance at beginning of year</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b>$ <ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesBalance' contextRef='E20_ValuationAllowancesAndReservesType-AllowanceForCreditLoss' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>170,000</ix:nonFraction></b></p> </td>
<td valign='top' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>$ <ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesBalance' contextRef='E19_ValuationAllowancesAndReservesType-AllowanceForCreditLoss' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>140,000</ix:nonFraction></p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'> &#160;Charges to statement of income</p> </td>
<td valign='top' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense' contextRef='Y21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></b></p> </td>
<td valign='top' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense' contextRef='Y20_ValuationAllowancesAndReservesType-AllowanceForCreditLoss' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>35,774</ix:nonFraction></p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'> &#160;Write-offs</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesDeductions' contextRef='Y21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></b></p> </td>
<td valign='top' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesDeductions' contextRef='Y20_ValuationAllowancesAndReservesType-AllowanceForCreditLoss' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,774</ix:nonFraction>)</p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'> &#160;Balance at end of year</p> </td>
<td valign='top' style='width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>$ <ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesBalance' contextRef='E21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>170,000</ix:nonFraction></b></p> </td>
<td valign='top' style='width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'>$ <ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesBalance' contextRef='E20_ValuationAllowancesAndReservesType-AllowanceForCreditLoss' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>170,000</ix:nonFraction></p> </td></tr> </table> <p style='font:10pt Courier New;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:center'><b>December 31,</b></p> <p style='font:10pt Arial;margin:0;text-align:center'><b>2021</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:center'>December 31,</p> <p style='font:10pt Arial;margin:0;text-align:center'>2020</p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'>Inventory Valuation Reserves:</p> </td>
<td valign='top' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='top' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'> &#160;Balance at beginning of year</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b>$ &#160; <ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesBalance' contextRef='E20_ValuationAllowancesAndReservesType-InventoryValuationReserve' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>600,000</ix:nonFraction></b></p> </td>
<td valign='top' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>$ &#160; <ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesBalance' contextRef='E19_ValuationAllowancesAndReservesType-InventoryValuationReserve' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>457,000</ix:nonFraction></p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'> &#160;Charges to statement of income</p> </td>
<td valign='top' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense' contextRef='Y21_ValuationAllowancesAndReservesType-InventoryValuationReserve' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>41,308</ix:nonFraction></b></p> </td>
<td valign='top' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense' contextRef='Y20_ValuationAllowancesAndReservesType-InventoryValuationReserve' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>155,058</ix:nonFraction></p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'> &#160;Write-offs</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesDeductions' contextRef='Y21_ValuationAllowancesAndReservesType-InventoryValuationReserve' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>29,308</ix:nonFraction>)</b></p> </td>
<td valign='top' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesDeductions' contextRef='Y20_ValuationAllowancesAndReservesType-InventoryValuationReserve' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>12,058</ix:nonFraction>)</p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'> &#160;Balance at end of year</p> </td>
<td valign='bottom' style='width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>$ &#160; <ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesBalance' contextRef='E21_ValuationAllowancesAndReservesType-InventoryValuationReserve' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>612,000</ix:nonFraction></b></p> </td>
<td valign='bottom' style='width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesBalance' contextRef='E20_ValuationAllowancesAndReservesType-InventoryValuationReserve' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>600,000</ix:nonFraction></p> </td></tr> </table> <p style='font:10pt Courier New;margin:0'>&#160;</p> </ix:nonNumeric></ix:continuation><p style='font:10pt Courier New;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:IncomeTaxDisclosureTextBlock' contextRef='Y21' escape='true' continuedAt='c4'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'><span style='font-family:Arial'><b>3</b><b> - </b><b>Income Taxes&#8212;</b>The provision for income tax expense consists of the following</span><span style='font-family:Arial;color:#833C0B'>:</span></p> <ix:nonNumeric name='us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' contextRef='Y21' escape='true'><p style='font:10pt Arial;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:151.9pt'></td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt'><p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>20</b><b>21</b></span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt'><p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>2020</span></p> </td></tr>
<tr>
<td valign='top' style='width:151.9pt'><p style='font:10pt Arial;margin:0'>Current:</p> </td>
<td valign='top' style='width:72pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='top' style='width:72pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:151.9pt'><p style='font:10pt Arial;margin:0'>Federal</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:72pt'><p style='font:10pt Arial;margin:0;text-align:right'><b>$ &#160;&#160;<ix:nonFraction name='us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>378,000</ix:nonFraction></b></p> </td>
<td valign='top' style='background-color:#CEE7FF;width:72pt'><p style='font:10pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;(<ix:nonFraction name='us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations' contextRef='Y20' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>53,000</ix:nonFraction>)</p> </td></tr>
<tr>
<td valign='top' style='width:151.9pt'><p style='font:10pt Arial;margin:0'>State</p> </td>
<td valign='top' style='width:72pt'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:CurrentStateAndLocalTaxExpenseBenefit' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>8,000</ix:nonFraction></b></p> </td>
<td valign='top' style='width:72pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CurrentStateAndLocalTaxExpenseBenefit' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:151.9pt'><p style='font:10pt Arial;margin:0'>Deferred</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:DeferredIncomeTaxExpenseBenefit' contextRef='Y21' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>85,000</ix:nonFraction>)</b></p> </td>
<td valign='top' style='background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredIncomeTaxExpenseBenefit' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>68,000</ix:nonFraction></p> </td></tr>
<tr style='height:7.2pt'>
<td valign='top' style='width:151.9pt'></td>
<td valign='bottom' style='width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>$ &#160;&#160;<ix:nonFraction name='us-gaap:IncomeTaxExpenseBenefit' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>301,000</ix:nonFraction></b></p> </td>
<td valign='bottom' style='width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160; <ix:nonFraction name='us-gaap:IncomeTaxExpenseBenefit' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>15,000</ix:nonFraction></p> </td></tr> </table> <p style='font:10pt Courier New;margin:0'>&#160;</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>The following is a reconciliation of the statutory federal income tax rate to the actual effective tax rate:</p> <ix:nonNumeric name='us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock' contextRef='Y21' escape='true'><p style='font:10pt Courier New;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>2021</b></p> </td>
<td valign='top' style='background-color:#CEE7FF;width:11.8pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:34.55pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:11.1pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'>2020</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:11.1pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:36.95pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:center'><b>Amount</b></p> </td>
<td valign='bottom' style='width:11.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:center'>&#160;</p> </td>
<td valign='bottom' style='width:34.55pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:center'><b>%</b></p> </td>
<td valign='bottom' style='width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:center'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:center'>Amount</p> </td>
<td valign='bottom' style='width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:center'>&#160;</p> </td>
<td valign='bottom' style='width:36.95pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:center'>%</p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>Expected tax at U.S. statutory rate</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;color:#000000;text-align:right'><b>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>297,000</ix:nonFraction></b></p> </td>
<td valign='top' style='background-color:#CEE7FF;width:11.8pt;border-top:0.5pt solid #000000'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:34.55pt;border-top:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate' contextRef='Y21' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>21.0</ix:nonFraction></b></p> </td>
<td valign='top' style='background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'>$ &#160;&#160; <ix:nonFraction name='us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>14,000</ix:nonFraction></p> </td>
<td valign='top' style='background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:36.95pt;border-top:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate' contextRef='Y20' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>21.0</ix:nonFraction></p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'>Permanent differences</p> </td>
<td valign='top' style='width:72pt'><p style='font:10pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:IncomeTaxReconciliationOtherAdjustments' contextRef='Y21' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,000</ix:nonFraction>)</b></p> </td>
<td valign='top' style='width:11.8pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:34.55pt'><p style='font:10pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments' contextRef='Y21' sign='-' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>0.1</ix:nonFraction>)</b></p> </td>
<td valign='top' style='width:11.1pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:72pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxReconciliationOtherAdjustments' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,000</ix:nonFraction></p> </td>
<td valign='top' style='width:11.1pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:36.95pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments' contextRef='Y20' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>1.9</ix:nonFraction></p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>State taxes, net of federal benefit</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>6,000</ix:nonFraction></b></p> </td>
<td valign='top' style='background-color:#CEE7FF;width:11.8pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:34.55pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes' contextRef='Y21' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>0.4</ix:nonFraction></b></p> </td>
<td valign='top' style='background-color:#CEE7FF;width:11.1pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='top' style='background-color:#CEE7FF;width:11.1pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:36.95pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes' contextRef='Y20' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'>Income tax expense</p> </td>
<td valign='top' style='width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>$ &#160;&#160;<ix:nonFraction name='us-gaap:IncomeTaxExpenseBenefit' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>301,000</ix:nonFraction></b></p> </td>
<td valign='top' style='width:11.8pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:34.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:EffectiveIncomeTaxRateContinuingOperations' contextRef='Y21' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>21.3</ix:nonFraction></b></p> </td>
<td valign='top' style='width:11.1pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'>$ &#160;&#160; <ix:nonFraction name='us-gaap:IncomeTaxExpenseBenefit' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>15,000</ix:nonFraction></p> </td>
<td valign='top' style='width:11.1pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:36.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EffectiveIncomeTaxRateContinuingOperations' contextRef='Y20' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>22.9</ix:nonFraction></p> </td></tr> </table> <p style='font:10pt Courier New;margin:0'>&#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'>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> <ix:continuation id='c4'><p style='font:10pt Courier New;margin:0'>&#160;</p> <p style='font:12pt Arial Narrow;margin:0;color:#339966'><span style='font-family:Arial;color:#000000'>The deferred tax assets (liabilities) consist of the following:</span></p> <ix:nonNumeric name='us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock' contextRef='Y21' escape='true'><p style='font:10pt Courier New;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr style='height:18pt'>
<td valign='bottom' style='background-color:#CEE7FF'></td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>20</b><b>21</b></span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0;text-align:center'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>2020</span></p> </td></tr>
<tr>
<td valign='top'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='top'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='top'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0'>Depreciation and amortization</p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0;text-align:right'><b>$&#160;(<ix:nonFraction name='us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,196,119</ix:nonFraction>)&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0;text-align:right'>$&#160;(<ix:nonFraction name='us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,295,804</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr>
<td valign='top'><p style='font:10pt Arial;margin:0'>Inventory</p> </td>
<td valign='bottom'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:DeferredTaxAssetsInventory' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>157,600</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredTaxAssetsInventory' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>175,739</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0'>Accrued vacation</p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>74,037</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>70,787</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='top'><p style='font:10pt Arial;margin:0'>Allowance for doubtful accounts</p> </td>
<td valign='bottom'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>38,250</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>38,250</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0'>Other, net</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:DeferredTaxAssetsOther' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>148</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:DeferredTaxAssetsOther' contextRef='E20' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>56</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr>
<td valign='top'></td>
<td valign='bottom' style='border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>$&#160; &#160;(<ix:nonFraction name='us-gaap:DeferredTaxAssetsLiabilitiesNet' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>926,084</ix:nonFraction>)&#160;&#160;</b></p> </td>
<td valign='bottom'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'>$(<ix:nonFraction name='us-gaap:DeferredTaxAssetsLiabilitiesNet' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,011,084</ix:nonFraction>)&#160;&#160;</p> </td></tr> </table> <p style='font:10pt Arial;margin:0'>&#160;</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>Valuation allowances related to deferred taxes are recorded based on the &#8220;more likely than not&#8221; realization criteria. &#160;The Company reviews the need for a valuation allowance on a quarterly basis for each of its tax jurisdictions. &#160;A deferred tax valuation allowance was <ix:nonFraction name='us-gaap:DeferredTaxAssetsValuationAllowance' contextRef='E21' unitRef='USD' decimals='INF' format='ixt-sec:numwordsen'><ix:nonFraction name='us-gaap:DeferredTaxAssetsValuationAllowance' contextRef='E20' unitRef='USD' decimals='INF' format='ixt-sec:numwordsen'>no</ix:nonFraction></ix:nonFraction>t required at December 31, 2021 or 2020.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> </ix:continuation><ix:nonNumeric name='us-gaap:CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock' contextRef='Y21' escape='true'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>4 - Profit Sharing Plan- </b>The Company has a noncontributory profit sharing plan covering substantially all employees. &#160;Total expenses relating to the profit sharing plan amounted to $<ix:nonFraction name='us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>145,000</ix:nonFraction> in 2021 and $<ix:nonFraction name='us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>120,000</ix:nonFraction> in 2020.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> </ix:nonNumeric><ix:nonNumeric name='us-gaap:InterestAndOtherIncomeTextBlock' contextRef='Y21' escape='true'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>5 - Other Income- </b>consists of the following:</p> <ix:nonNumeric name='us-gaap:InterestAndOtherIncomeTableTextBlock' contextRef='Y21' escape='true'><p style='font:10pt Arial;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:159.15pt'></td>
<td valign='bottom' style='background-color:#CEE7FF;width:63.65pt'><p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>20</b><b>21</b></span></p> </td>
<td valign='top' style='background-color:#CEE7FF;width:11.8pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:68.55pt'><p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>2020</span></p> </td></tr>
<tr>
<td valign='top' style='width:159.15pt'><p style='font:10pt Arial;margin:0'>Interest income</p> </td>
<td valign='bottom' style='width:63.65pt'><p style='font:10pt Arial;margin:0;text-align:right'><b>$&#160;<ix:nonFraction name='us-gaap:InvestmentIncomeInterest' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>19,797</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:11.8pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:68.55pt'><p style='font:10pt Arial;margin:0;text-align:right'>$&#160; <ix:nonFraction name='us-gaap:InvestmentIncomeInterest' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>94,956</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:159.15pt'><p style='font:10pt Arial;margin:0'>Other</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:63.65pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:OtherNonoperatingIncome' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>35,760</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:11.8pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:68.55pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherNonoperatingIncome' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>53,508</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='top' style='width:159.15pt'></td>
<td valign='bottom' style='width:63.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>$&#160;<ix:nonFraction name='us-gaap:OtherNonoperatingIncomeExpense' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>55,557</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:11.8pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:68.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'>$&#160;<ix:nonFraction name='us-gaap:OtherNonoperatingIncomeExpense' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>148,464</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr> </table> <p style='font:10pt Courier New;margin:0'>&#160;</p> </ix:nonNumeric><p style='font:10pt Courier New;margin:0'>&#160;</p> </ix:nonNumeric><p style='font:10pt Courier New;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:SegmentReportingDisclosureTextBlock' contextRef='Y21' escape='true' continuedAt='c5'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>6 - Segment Information- </b>The Company operates in the United States in two business segments as determined by its products. &#160;The fastener segment, which comprises H &amp; L Tool and the parent company&#8217;s fastener operations, includes rivets, cold-formed fasteners and parts and screw machine products. &#160;The assembly equipment segment includes automatic rivet setting machines and parts and tools for such machines. &#160;Information by segment is as follows:</p> <ix:nonNumeric name='us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock' contextRef='Y21' escape='true'><p style='font:10pt Courier New;margin:0'>&#160;</p>
<table style='border-collapse:collapse;margin-left:-3.6pt'>
<tr>
<td valign='middle' style='background-color:#CEE7FF;width:179.1pt'></td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Fastener</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Assembly Equipment</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Other</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Consolidated</span></p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'><b>Year Ended December 31, 2021:</b></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0;color:#E36C0A'><span style='color:#000000'>Net Sales&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:Revenues' contextRef='Y21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>29,831,388</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:Revenues' contextRef='Y21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,143,170</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:Revenues' contextRef='Y21_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;33,974,558</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>Depreciation&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Depreciation' contextRef='Y21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,161,596</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Depreciation' contextRef='Y21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>134,957</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Depreciation' contextRef='Y21_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>22,001</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>1,318,554</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>Segment operating profit&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='fil:SegmentOperatingProfit' contextRef='Y21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,384,486</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='fil:SegmentOperatingProfit' contextRef='Y21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>997,048</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right'><ix:nonFraction name='fil:SegmentOperatingProfit' contextRef='Y21_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction> </p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>3,381,534</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>Selling and administrative expenses&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='fil:SellingAndAdministrativeExpensesUnallocatedCorporate' contextRef='Y21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='fil:SellingAndAdministrativeExpensesUnallocatedCorporate' contextRef='Y21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='fil:SellingAndAdministrativeExpensesUnallocatedCorporate' contextRef='Y21_StBusnSeg-UnallocatedCorporate' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,022,619</ix:nonFraction>)</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>(2,022,619)</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>Other income&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InterestAndOtherIncome' contextRef='Y21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InterestAndOtherIncome' contextRef='Y21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InterestAndOtherIncome' contextRef='Y21_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>55,557</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>55,557</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>Income before income taxes&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>1,414,472</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>Capital expenditures&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PaymentsToAcquirePropertyPlantAndEquipment' contextRef='Y21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>493,564</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PaymentsToAcquirePropertyPlantAndEquipment' contextRef='Y21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PaymentsToAcquirePropertyPlantAndEquipment' contextRef='Y21_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>177,334</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>670,898</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>Segment assets:</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Accounts receivable, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccountsReceivableNetCurrent' contextRef='E21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,302,257</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccountsReceivableNetCurrent' contextRef='E21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>345,727</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccountsReceivableNetCurrent' contextRef='E21_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>5,647,984</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Inventories, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryNet' contextRef='E21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>7,214,050</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryNet' contextRef='E21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,305,730</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryNet' contextRef='E21_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>8,519,780</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Property, plant and equipment, net&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>9,782,324</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,433,905</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E21_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,257,635</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>12,473,864</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Other assets&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherAssets' contextRef='E21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherAssets' contextRef='E21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherAssets' contextRef='E21_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,124,630</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>5,124,630</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>31,766,258</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt;border-top:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>Year Ended December 31, 2020:</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0;color:#E36C0A'><span style='color:#000000'>Net Sales&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</span></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:Revenues' contextRef='Y20_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>24,607,863</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:Revenues' contextRef='Y20_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,982,790</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:Revenues' contextRef='Y20_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;27,590,653</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>Depreciation&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Depreciation' contextRef='Y20_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,182,555</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Depreciation' contextRef='Y20_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>131,826</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Depreciation' contextRef='Y20_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>32,924</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>1,347,305</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>Segment operating profit&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='fil:SegmentOperatingProfit' contextRef='Y20_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,531,933</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='fil:SegmentOperatingProfit' contextRef='Y20_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>513,250</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right'><ix:nonFraction name='fil:SegmentOperatingProfit' contextRef='Y20_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction> </p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>2,045,183</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>Selling and administrative expenses&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='fil:SellingAndAdministrativeExpensesUnallocatedCorporate' contextRef='Y20_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='fil:SellingAndAdministrativeExpensesUnallocatedCorporate' contextRef='Y20_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='fil:SellingAndAdministrativeExpensesUnallocatedCorporate' contextRef='Y20_StBusnSeg-UnallocatedCorporate' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,128,197</ix:nonFraction>)</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>(2,128,197)</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>Other income&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InterestAndOtherIncome' contextRef='Y20_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InterestAndOtherIncome' contextRef='Y20_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InterestAndOtherIncome' contextRef='Y20_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>148,464</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>148,4640</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>Income before income taxes&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>65,450</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt;border-top:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>Capital expenditures&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PaymentsToAcquirePropertyPlantAndEquipment' contextRef='Y20_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>614,835</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PaymentsToAcquirePropertyPlantAndEquipment' contextRef='Y20_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>13,924</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PaymentsToAcquirePropertyPlantAndEquipment' contextRef='Y20_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>195,377</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>824,136</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>Segment assets:</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Accounts receivable, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccountsReceivableNetCurrent' contextRef='E20_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,906,239</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccountsReceivableNetCurrent' contextRef='E20_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>257,211</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccountsReceivableNetCurrent' contextRef='E20_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>5,163,450</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Inventories, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryNet' contextRef='E20_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,024,138</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryNet' contextRef='E20_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,129,156</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryNet' contextRef='E20_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>5,153,294</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Property, plant and equipment, net&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E20_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>10,479,720</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E20_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,568,862</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E20_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,102,302</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>13,150,884</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Other assets&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherAssets' contextRef='E20_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherAssets' contextRef='E20_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherAssets' contextRef='E20_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>7,770,443</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>7,770,443</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>31,238,071</p> </td></tr> </table> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Courier New;margin:0'>&#160;</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'>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> <ix:continuation id='c5'><p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Courier New;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>The Company does not allocate certain selling and administrative expenses for internal reporting, thus, no allocation was made for these expenses for segment disclosure purposes. &#160;Segment assets reported internally are limited to accounts receivable, inventory and long-lived assets. &#160;Certain long-lived assets of one plant location are allocated between the two segments based on estimated plant utilization, as this plant serves both fastener and assembly equipment activities. &#160;Other assets are not allocated to segments internally and to do so would be impracticable.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>The following table presents revenue by segment, further disaggregated by end-market:</p> <ix:nonNumeric name='us-gaap:DisaggregationOfRevenueTableTextBlock' contextRef='Y21_ProductOrService-EndMarket' escape='true'><p style='font:10pt Arial;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:center'> &#160;Fastener &#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:center'> &#160;Assembly Equipment &#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:center'> &#160;Consolidated &#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'><b>Year Ended December 31, </b><b>2021</b><b>:</b></span></p> </td>
<td valign='bottom' style='width:61.35pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Automotive</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_ProductOrService-Automotive_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>17,573,104</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>157,652</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_ProductOrService-Automotive' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>17,730,756</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Non-automotive</span></p> </td>
<td valign='bottom' style='width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'> <ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_ProductOrService-Nonautomotive_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>12,258,284</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'> <ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,985,518</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'> <ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_ProductOrService-Nonautomotive' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>16,243,802</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Total net sales</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>29,831,388</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,143,170</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>33,974,558</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Year Ended December 31, 2020:</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Automotive</span></p> </td>
<td valign='bottom' style='width:61.35pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_ProductOrService-Automotive_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>15,612,249</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>136,899</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_ProductOrService-Automotive' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>15,749,148</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Non-automotive</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'> <ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_ProductOrService-Nonautomotive_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>8,995,614</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'> <ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,845,891</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'> <ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_ProductOrService-Nonautomotive' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>11,841,505</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Total net sales</span></p> </td>
<td valign='bottom' style='width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>24,607,863</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,982,790</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>27,590,653</ix:nonFraction></p> </td></tr> </table> <p style='font:10pt Arial;margin:0'>&#160;</p> </ix:nonNumeric><p style='font:10pt Courier New;margin:0'>&#160;</p> <p style='font:10pt Courier New;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>The following table presents revenue by segment, further disaggregated by location:</p> <ix:nonNumeric name='us-gaap:DisaggregationOfRevenueTableTextBlock' contextRef='Y21_StGeo-Location' escape='true'><p style='font:10pt Arial;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:center'> &#160;Fastener &#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:center'> &#160;Assembly Equipment &#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:center'> &#160;Consolidated &#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'><b>Year Ended December 31, 20</b><b>21</b><b>:</b></span></p> </td>
<td valign='bottom' style='width:61.35pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>United States</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_StGeo-UnitedStates_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>24,280,114</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_StGeo-UnitedStates_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,053,102</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_StGeo-UnitedStates' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>28,333,216</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Foreign</span></p> </td>
<td valign='bottom' style='width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_StGeo-Foreign_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,551,274</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_StGeo-Foreign_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>90,068</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_StGeo-Foreign' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,641,342</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Total net sales</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>29,831,388</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,143,170</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>33,974,558</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Year Ended December 31, 2020:</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>United States</span></p> </td>
<td valign='bottom' style='width:61.35pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_StGeo-UnitedStates_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>20,743,296</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_StGeo-UnitedStates_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,804,476</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_StGeo-UnitedStates' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>23,547,772</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Foreign</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_StGeo-Foreign_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,864,567</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_StGeo-Foreign_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>178,314</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_StGeo-Foreign' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,042,881</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Total net sales</span></p> </td>
<td valign='bottom' style='width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>24,607,863</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,982,790</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>27,590,653</ix:nonFraction></p> </td></tr> </table> <p style='font:10pt Arial;margin:0'>&#160;</p> </ix:nonNumeric><p style='font:10pt Courier New;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>Sales to one customer in the fastener segment accounted for <ix:nonFraction name='us-gaap:ConcentrationRiskPercentage1' contextRef='Y21_MajCust-TIGroupAutomotiveSystems' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>13</ix:nonFraction>% of consolidated revenues during 2021 and <ix:nonFraction name='us-gaap:ConcentrationRiskPercentage1' contextRef='Y20_MajCust-TIGroupAutomotiveSystems' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>14</ix:nonFraction>% in 2020. &#160;The accounts receivable balance for this customer accounted for <ix:nonNumeric name='us-gaap:AdditionalInformationAboutEntitysReportableSegments' contextRef='Y21_MajCust-TIGroupAutomotiveSystems' escape='true'>16</ix:nonNumeric>% and <ix:nonNumeric name='us-gaap:AdditionalInformationAboutEntitysReportableSegments' contextRef='Y20_MajCust-TIGroupAutomotiveSystems' escape='true'>17</ix:nonNumeric>% of consolidated accounts receivable as of December 31, 2021 and 2020, respectively. &#160;Sales to a second customer in the fastener segment accounted for <ix:nonFraction name='us-gaap:ConcentrationRiskPercentage1' contextRef='Y21_MajCust-CooperStandardHoldingsInc' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>11</ix:nonFraction>% of consolidated revenues during 2021 and <ix:nonFraction name='us-gaap:ConcentrationRiskPercentage1' contextRef='Y20_MajCust-CooperStandardHoldingsInc' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>12</ix:nonFraction>% in 2020. &#160;The accounts receivable balance for this customer accounted for <ix:nonNumeric name='us-gaap:AdditionalInformationAboutEntitysReportableSegments' contextRef='Y21_MajCust-CooperStandardHoldingsInc' escape='true'>11</ix:nonNumeric>% and <ix:nonNumeric name='us-gaap:AdditionalInformationAboutEntitysReportableSegments' contextRef='Y20_MajCust-CooperStandardHoldingsInc' escape='true'>15</ix:nonNumeric>% of consolidated accounts receivable as of December 31, 2021 and 2020, respectively. &#160;Sales to a third customer were <ix:nonFraction name='us-gaap:ConcentrationRiskPercentage1' contextRef='Y21_MajCust-ParkerHannifinCorporation' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>12</ix:nonFraction>% of consolidated revenue in 2021 and <ix:nonFraction name='us-gaap:ConcentrationRiskPercentage1' contextRef='Y20_MajCust-ParkerHannifinCorporation' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>10</ix:nonFraction>% in 2020. The accounts receivable balance for this customer accounted for <ix:nonNumeric name='us-gaap:AdditionalInformationAboutEntitysReportableSegments' contextRef='Y21_MajCust-ParkerHannifinCorporation' escape='true'>18</ix:nonNumeric>% and <ix:nonNumeric name='us-gaap:AdditionalInformationAboutEntitysReportableSegments' contextRef='Y20_MajCust-ParkerHannifinCorporation' escape='true'>15</ix:nonNumeric>% of consolidated accounts receivable as of December 31, 2021 and 2020, respectively.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> </ix:continuation><p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:CommitmentsAndContingenciesDisclosureTextBlock' contextRef='Y21' escape='true' continuedAt='c6'></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'>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> <ix:continuation id='c6'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>7 - Commitments and Contingencies- </b>The Company recorded rent expense aggregating approximately $<ix:nonFraction name='us-gaap:OperatingLeasesRentExpenseNet' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>27,000</ix:nonFraction> and $<ix:nonFraction name='us-gaap:OperatingLeasesRentExpenseNet' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>23,000</ix:nonFraction> in 2021 and 2020, respectively. &#160;Total future minimum rentals at December 31, 2021 are not significant.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>The Company is, from time to time involved in litigation, including environmental claims, in the normal course of business. &#160;While it is not possible at this time to establish the ultimate amount of liability with respect to contingent liabilities, including those related to legal proceedings, management is of the opinion that the aggregate amount of any such liabilities, for which provision has not been made, will not have a material adverse effect on the Company's financial position.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> </ix:continuation><p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <ix:nonNumeric name='us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock' contextRef='Y21' escape='true'><p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Courier New;margin:0'><span style='font-family:Arial'><b>8</b><b> - COVID-19</b><b>-</b><b> </b>In March 2020, the World Health Organization characterized the novel coronavirus (&#8220;COVID-19&#8221;) a pandemic and the President of the United States declared the COVID-19 outbreak a national emergency. &#160;The rapid spread of the virus and the response domestically and internationally to combat it had a significant negative impact on the global economy, including the automotive industry upon which we rely for sales. &#160;Beginning in March 2020, most states issued executive orders which temporarily closed businesses deemed non-essential in an effort to prevent the spread of the coronavirus. &#160;Similar measures also took place in foreign markets we serve. &#160;As a result, our operations and the operations of our customers and suppliers were adversely affected. &#160;Since some of our customers are classified as essential businesses and were allowed to continue to operate during this period, we were able to continue our operations, but at a significantly reduced and less efficient level, in order to service those customers. &#160;Our automotive customers were particularly affected, as much of the sector was idled for an extended period of time during the second quarter of 2020 due to employee safety concerns. &#160;While most shutdown orders were lifted late in that quarter, various work-related restrictions remained in place for some time resulting in widespread economic disruption. &#160;During this period of rapidly changing business conditions and heightened uncertainty resulting from COVID-19, we took measures to reduce expenses and conserve capital, including reduced work schedules, delayed capital expenditures and a reduction in dividend payments. &#160;In the second half of 2020, we experienced improved demand as certain government-imposed restrictions were relaxed and there was further improvement in 2021 as vaccines against the virus became widely available. &#160;The pandemic continues to disrupt and have unpredictable impacts on our operations and the markets we serve, most notably in terms of labor shortages, supply chain disruptions and high inflation. &#160;These factors make the timing and sustainability of any broad economic recovery uncertain and will likely remain tied to the course of the pandemic. &#160;As we cannot predict the duration or scope of the COVID-19 pandemic, or its broader impact on the global economy, including the demand for automobiles, it is unknown what the impact of COVID-19 and its related effects will be on our business, results of operations or financial condition, but the impact could be material and last for an extended period of time.</span></p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <ix:nonNumeric name='us-gaap:ScheduleOfSubsequentEventsTextBlock' contextRef='Y21' escape='true'><p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><b>9 - Subsequent Events- </b>On <ix:nonNumeric name='us-gaap:DividendsPayableDateDeclaredDayMonthAndYear' contextRef='Y21' format='ixt:datemonthdayyearen'>February 21, 2022</ix:nonNumeric>, the Board of Directors declared a regular quarterly dividend of $<ix:nonFraction name='us-gaap:DividendsPayableAmountPerShare' contextRef='E21' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.22</ix:nonFraction> per share, or $<ix:nonFraction name='us-gaap:DividendsPayableCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>212,549</ix:nonFraction>, payable <ix:nonNumeric name='us-gaap:DividendPayableDateToBePaidDayMonthAndYear' contextRef='Y21' format='ixt:datemonthdayyearen'>March 18, 2022</ix:nonNumeric> to shareholders of record on <ix:nonNumeric name='us-gaap:DividendsPayableDateOfRecordDayMonthAndYear' contextRef='Y21' format='ixt:datemonthdayyearen'>March 4, 2022</ix:nonNumeric>.</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</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'>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 Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p><div id="vj12"></div> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 9 - Changes in and Disagreements with Accountants on</b></span></p> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b> Accounting and Financial Disclosure</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>None.</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:-31.5pt'>&#160;</p><div id="vj13"></div> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 9A &#8211;&#160;Controls and Procedures </b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>Disclosure Controls and Procedures. &#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The Company's management, with the participation of the Company's Chief Executive Officer and President, Chief Operating Officer and Treasurer (the Company&#8217;s principal financial officer), has evaluated the effectiveness of the Company's disclosure controls and procedures (as such term is defined in Rules 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934, as amended (the &quot;Exchange Act&quot;)) as of the end of the period covered by this report. &#160;Based on such evaluation, the Company's Chief Executive Officer and Chief Financial Officer have concluded that, as of the end of such period, the Company's disclosure controls and procedures are effective in recording, processing, summarizing and reporting, on a timely basis, information required to be disclosed by the Company in the reports that it files or submits under the Exchange Act.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>Management&#8217;s Report on Internal Control Over Financial Reporting.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>The Company&#8217;s management is responsible for establishing and maintaining adequate internal control over financial reporting, as that term is defined in Exchange Act Rules 13a-15(f) and 15d-15(f). &#160;The Company&#8217;s management, with the participation of the Company&#8217;s Chief Executive Officer and President, Chief Operating Officer and Treasurer (the Company&#8217;s principal financial officer), assessed the effectiveness of the Company&#8217;s internal control over financial reporting as of December 31, 2021, based on the 2013 criteria established in Internal Control&#8212;Integrated Framework, issued by the Committee of Sponsoring Organizations of the Treadway Commission (&#8220;COSO&#8221;). &#160;Based on this assessment, the Company&#8217;s management has concluded that the Company&#8217;s internal controls over financial reporting are effective as of December 31, 2021.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;Management&#8217;s assessment of internal control has not been audited, as the attestation report requirement for non-accelerated filers was permanently removed from the Sarbanes-Oxley Act by Section 989C of the Dodd-Frank Act as adopted by the SEC.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>Changes in Internal Control Over Financial Reporting.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>There have not been any changes in the Company's internal control over financial reporting (as such term is defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act) during the quarter ended December 31, 2021 that have materially affected, or are reasonably likely to materially affect, the Company&#8217;s internal control over financial reporting.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p><div id="vj14"></div> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 9B &#8211;&#160;Other Information </b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>None.</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 Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>PART III</b></span></p> <p style='font:10pt Arial;margin:0;text-align:center'>&#160;</p> <p style='font:10pt Courier New;margin:0;text-align:center'>&#160;</p><div id="vj15"></div> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 10 &#8211;&#160;Directors, Executive Officers and Corporate Governance</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The information in the Company&#8217;s 2022 Proxy Statement (i) with respect to the Board of Directors' nominees for directors that is not related to security ownership in &quot;Security Ownership of Management&quot; and (ii) in the third paragraph in &quot;Additional Information Concerning the Board of Directors and Committees&quot; is incorporated herein by reference. The 2022 Proxy Statement is to be filed with the Securities and Exchange Commission in connection with the Company's 2022 Annual Meeting of Shareholders. &#160;The information called for with respect to executive officers of the Company is included in Part I of this Report on Form 10-K under the caption &quot;Information about our Executive Officers.&quot;&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The Company has adopted a code of ethics for its principal executive officer, chief operating officer and senior financial officers. &#160;A copy of this code of ethics was filed as Exhibit 14 to the Company's Annual Report on Form 10-K dated March 29, 2005.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p><div id="vj16"></div> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 11 - Executive Compensation</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The information set forth in the Company&#8217;s 2022 Proxy Statement in &#8220;Compensation of Directors and Executive Officers&#8221; is incorporated herein by reference.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The Compensation Committee of the Board of Directors currently consists of Directors Kent H. Cooney and Kurt Moders.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p><div id="vj17"></div> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 12 - Security Ownership of Certain Beneficial</b></span></p> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b> Owners and Management and Related Stockholder Matters</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The information set forth in the Company's 2022 Proxy Statement in &#8220;Principal Shareholders&#8221; and the information with respect to security ownership of the Company's directors and officers set forth in &#8220;Security Ownership of Management&#8221; is incorporated herein by reference.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The Company does not have any equity compensation plans or arrangements. &#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p><div id="vj18"></div> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 13 - Certain Relationships and Related Transactions, and Director </b><b>Independence</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'> &#160;&#160;</kbd><kbd style='margin-left:36pt'></kbd>The information set forth in the Company&#8217;s 2022 Proxy Statement in (i) &#8220;Additional Information Concerning the Board of Directors and Committees - Policy Regarding Related Person Transactions&#8221; and (ii) the first paragraph under &#8220;Additional Information Concerning the Board of Directors and Committees&#8221; is incorporated herein by reference.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p><div id="vj19"></div> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 14 &#8211;&#160;Principal Accountant Fees and Services</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The information set forth in the Company&#8217;s 2022 Proxy Statement in &#8220;Ratification of Selection of Independent Auditor &#8211;&#160;Audit and Non-Audit Fees&#8221; is incorporated herein by reference.&#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 Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>PART IV</b></span></p> <p style='font:10pt Arial;margin:0;text-align:center'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p><div id="vj20"></div> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 15 &#8211;&#160;Exhibits and Financial Statement Schedules</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:-72pt;margin-left:108pt'>(a) &#160;&#160;The following documents are filed as a part of this report:</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Times New Roman;margin-left:72pt'>1.</kbd><kbd style='margin-left:108pt'></kbd>Financial Statements:&#160;</p> <p style='font:10pt Arial;margin:0'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:108pt'>See the section entitled &quot;Consolidated Financial Statements&quot; in Item 8 of this report.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:108pt'><kbd style='position:absolute;font:10pt Arial;margin-left:-36pt'>2.</kbd>Financial Statement Schedules:&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:-36pt;margin-left:108pt'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:108pt'>Financial statement schedules and supplementary information has been omitted because they are not applicable or the required information is shown in the consolidated financial statements or notes thereto. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:108pt'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'> &#160;&#160;&#160;&#160;&#160;</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:72pt'>3.</kbd><kbd style='margin-left:108pt'></kbd>Exhibits:&#160;</p> <p style='font:10pt Arial;margin:0'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:108pt'>See the section entitled &quot;Exhibits&quot; which appears on page 29 of this report.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p><div id="vj21"></div> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 16 &#8211;&#160;Form 10-K Summary </b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>None.</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 Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>CHICAGO RIVET &amp; MACHINE CO.</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>EXHIBITS</b></span></p> <p style='font:10pt Arial;margin:0'>Exhibit</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'><span style='border-bottom:1px solid #000000'>Number </span></kbd><kbd style='margin-left:360pt'></kbd> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:72pt'><kbd style='position:absolute;font:10pt Arial;margin-left:-72pt'>3.1</kbd><a href="http://www.sec.gov/Archives/edgar/data/19871/0000950137-98-001287.txt">Articles of Incorporation, as last amended August 18, 1997. Incorporated by reference to the Company&#8217;s report on Form 10-K, dated March 27, 1998. File number 0000-01227 &#160;&#160;</a></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:72pt'><kbd style='position:absolute;font:10pt Arial;margin-left:-72pt'>3.2</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'><a href="d288627dex32.htm">Amended and Restated By-Laws, as amended through March 22, 2021.</a></kbd><kbd style='margin-left:324pt'></kbd> &#160;&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:72pt'><kbd style='position:absolute;font:10pt Arial;margin-left:-72pt'>14</kbd><a href="http://www.sec.gov/Archives/edgar/data/19871/000095013705003788/c93305exv14.txt">Code of Ethics for Principal Executive and Senior Financial Officers. Incorporated by reference to the Company's report on Form 10-K, dated March 29, 2005. File number 0000-01227&#160;</a></p> <p style='font:10pt Arial;margin:0'> &#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;</p> <p style='font:10pt Arial;margin:0;margin-left:72pt'><kbd style='position:absolute;font:10pt Arial;margin-left:-72pt'>21</kbd><a href="d288627dex21.htm">Subsidiaries of the Registrant.&#160;</a></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:72pt'><kbd style='position:absolute;font:10pt Arial;margin-left:-72pt'>31.1</kbd><a href="d288627dex311.htm">Certification of Principal Executive Officer Pursuant to Rule 13a-14(a) or 15d-14(a) as Adopted Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.&#160;</a></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:72pt'><kbd style='position:absolute;font:10pt Arial;margin-left:-72pt'>31.2</kbd><a href="d288627dex312.htm">Certification of Principal Financial Officer Pursuant to Rule 13a-14(a) or 15d-14(a) as Adopted Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.&#160;</a></p> <p style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:36pt'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:72pt'><kbd style='position:absolute;font:10pt Arial;margin-left:-72pt'>32.1</kbd><a href="d288627dex321.htm">Certification of Principal Executive Officer Pursuant to 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.&#160;</a></p> <p style='font:10pt Arial;margin:0;text-indent:-72pt;margin-left:72pt'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:72pt'><kbd style='position:absolute;font:10pt Arial;margin-left:-72pt'>32.2</kbd><a href="d288627dex322.htm">Certification of Principal Financial Officer Pursuant to 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.&#160;</a></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:72pt'><kbd style='position:absolute;font:10pt Arial;margin-left:-72pt'>101.INS</kbd>Inline XBRL Instance Document &#8211;&#160;the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document. &#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>101.SCH</kbd><kbd style='margin-left:72pt'></kbd>Inline XBRL Taxonomy Extension Schema Document&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>101.CAL</kbd><kbd style='margin-left:72pt'></kbd>Inline XBRL Taxonomy Extension Calculation Linkbase Document&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>101.DEF</kbd><kbd style='margin-left:72pt'></kbd>Inline XBRL Taxonomy Extension Definition Linkbase Document&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>101.LAB</kbd><kbd style='margin-left:72pt'></kbd>Inline XBRL Taxonomy Extension Label Linkbase Document&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>101.PRE</kbd><kbd style='margin-left:72pt'></kbd>Inline XBRL Taxonomy Extension Presentation Linkbase Document&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>104</kbd><kbd style='margin-left:72pt'></kbd>Cover Page Interactive Data File (formatted in Inline XBRL and contained in Exhibit 101).&#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 Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>SIGNATURES</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>Pursuant to the requirements of Section 13 or 15(d) of the Securities Exchange Act of 1934, Chicago Rivet &amp; Machine Co. has duly caused this report to be signed on its behalf by the undersigned, thereunto duly authorized.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'> &#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;&#160;&#160;&#160;&#160;&#160;</kbd><kbd style='margin-left:252pt'></kbd>Chicago Rivet &amp; Machine Co.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:216pt'>By<span style='border-bottom:1px solid #000000'> /s/Michael J. Bourg &#160;&#160;&#160;</span></p> <p style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:216pt'>Michael J. Bourg</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:216pt'>President and Chief Operating Officer</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:216pt;text-align:right'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:216pt;text-align:right'>&#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;&#160;&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></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 and on the dates indicated:&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'><span style='border-bottom:1px solid #000000'>/s/Walter W. Morrissey</span></kbd><kbd style='margin-left:252pt'></kbd>Chairman of the Board of Directors,&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>Walter W. Morrissey</kbd><kbd style='margin-left:252pt'></kbd>Chief Executive Officer (Principal Executive&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'><kbd style='margin-left:252pt'></kbd>Officer) and Member of the Executive Committee &#160;</p> <p style='font:10pt Arial;margin:0;margin-right:-18pt;text-align:justify'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'> &#160;</kbd><kbd style='margin-left:252pt'></kbd><span style='border-bottom:1px solid #000000'>March 21, 2022</span>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'><span style='border-bottom:1px solid #000000'>/s/Michael J. Bourg</span></kbd><kbd style='margin-left:252pt'></kbd>President, Chief Operating Officer, Treasurer&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>Michael J. Bourg</kbd><kbd style='margin-left:252pt'></kbd>(Principal Financial and Accounting Officer),&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:216pt'>Director and Member of the Executive Committee</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:252pt'></kbd><span style='border-bottom:1px solid #000000'>March 21, 2022</span>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'><span style='border-bottom:1px solid #000000'>/s/Kent H. Cooney</span></kbd><kbd style='margin-left:252pt'></kbd>Director, Member of the Audit Committee&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>Kent H. Cooney</kbd><kbd style='margin-left:252pt'></kbd><span style='border-bottom:1px solid #000000'>March 21, 2022</span>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'><span style='border-bottom:1px solid #000000'>/s/Patricia M. Miller</span></kbd><kbd style='margin-left:252pt'></kbd>Director&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>Patricia M. Miller</kbd><kbd style='margin-left:252pt'></kbd><span style='border-bottom:1px solid #000000'>March 21, 2022</span>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'><span style='border-bottom:1px solid #000000'>/s/Kurt Moders</span><kbd style='display:inline-block;width:11.15pt;border-bottom:1px solid #000000'>&#160;</kbd></kbd><kbd style='margin-left:252pt'></kbd>Director&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>Kurt Moders</kbd><kbd style='margin-left:252pt'></kbd><span style='border-bottom:1px solid #000000'>March 21, 2022</span>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'><span style='border-bottom:1px solid #000000'>/s/James W. Morrissey</span></kbd><kbd style='margin-left:252pt'></kbd>Director, Member of the Executive Committee&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>James W. Morrissey</kbd><kbd style='margin-left:252pt'></kbd><span style='border-bottom:1px solid #000000'>March 21, 2022</span>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'><span style='border-bottom:1px solid #000000'>/s/John L. Showel</span></kbd><kbd style='margin-left:252pt'></kbd>Director, Member of the Audit Committee&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>John L. Showel</kbd><kbd style='margin-left:252pt'></kbd><span style='border-bottom:1px solid #000000'>March 21, 2022</span>&#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> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> </div> </body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-3.2
<SEQUENCE>2
<FILENAME>d288627dex32.htm
<DESCRIPTION>EX-3.2
<TEXT>
<HTML><HEAD>
<TITLE>EX-3.2</TITLE>
</HEAD>
  <BODY>
<DIV><P align=right style='font:10pt Courier New;margin:0'><B>Exhibit 3.2</B></P> <HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><P align=center style='font:10pt Courier New;margin-top:12pt;margin-bottom:3pt'><FONT
style='font-family:Times New Roman'>AMENDED AND RESTATED BY-LAWS</FONT></P> <P align=center style='font:10pt Courier New;margin-top:12pt;margin-bottom:3pt'><FONT style='font-family:Times New Roman'>(AS AMENDED THROUGH MARCH 22, 2021)</FONT></P>
<P align=center style='font:10pt Courier New;margin-top:12pt;margin-bottom:3pt'><FONT style='font-family:Times New Roman'>OF</FONT></P> <P align=center style='font:10pt Courier New;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Courier New;margin:0'>CHICAGO RIVET &amp; MACHINE CO.,</P> <P align=center style='font:10pt Courier New;margin:0'>an Illinois corporation</P> <P align=center style='font:10pt Courier New;margin:0'>(the
&quot;Corporation&quot;)</P> <P align=center style='font:10pt Courier New;margin:0'>&nbsp;</P> <P style='font:10pt Courier New;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Courier New;margin-top:6pt;margin-bottom:12pt;margin-left:-9pt'><BR>ARTICLE I<FONT style='font-family:Times New Roman'>OFFICES</FONT></P> <P style='font:10pt Courier New;margin:0;text-indent:72pt;color:#000000'><FONT
style='font-family:Times New Roman'>The principal office of the Corporation shall be in the City of Naperville, County of DuPage and State of Illinois. The Corporation may also have offices at such other places, either within or without the State of
Illinois, as the Board of Directors may from time to time appoint or as the business may require.</FONT></P> <P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;</P>
<P align=center style='font:10pt Courier New;margin-top:6pt;margin-bottom:12pt'><BR>ARTICLE II<FONT style='font-family:Times New Roman'>SHAREHOLDERS' MEETINGS</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 1. &nbsp;<FONT style='font-family:Times New Roman'>THE ANNUAL MEETING. &nbsp;The annual meeting of the shareholders shall be held at the
principal office of the Corporation at 10:00 o'clock A. M. (Chicago time) on the second Tuesday in May of each year, or if such day be a holiday, then upon the next succeeding secular day. &nbsp;A written or printed notice stating the place, day and
hour of the meeting shall be mailed by the Secretary or an Assistant Secretary of the Corporation at least ten days before such meeting to each shareholder to his, her or its last known post-office address, as appears on the books of the
Corporation. &nbsp;A majority of the capital stock outstanding represented in person or by proxy shall constitute a quorum at all shareholders' meetings.</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 2. &nbsp;<FONT style='font-family:Times New Roman'>SPECIAL MEETINGS.</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:99.35pt;color:#000000'>(a) &nbsp;<FONT style='font-family:Times New Roman'> Special meetings of the shareholders may be called by (i) the President or (ii) the Board of
Directors and shall be called by the President or the Board of Directors upon the demand, in accordance with this Section 2, of holders of not less than one-fifth of all the outstanding shares of the Corporation entitled to vote on the matter
proposed to be considered at the special meeting, for the purpose or purposes stated in the call of the meeting.</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:99.35pt;color:#000000'>(b) &nbsp;<FONT
style='font-family:Times New Roman'>In order that the Corporation may determine the shareholders entitled to demand a special meeting, the Board of </FONT><A name=_aci_pg1 /><FONT style='font-family:Times New Roman'>Directors may fix a record date to determine
 the shareholders entitled to make such a demand (the &quot;Demand Record Date&quot;). &nbsp;The Demand Record Date shall not precede the date upon which the resolution fixing the Demand Record Date is adopted by the Board of Directors and shall not
be more than 10 days after the date upon which the resolution fixing the Demand Record Date is adopted by the Board of Directors. Any shareholder of record seeking to have shareholders demand a special meeting shall, by sending written notice to the
Secretary of the Corporation by hand or by certified or &nbsp;&nbsp;registered mail, return receipt requested, request the Board of Directors to fix a Demand Record Date. The Board of Directors shall promptly, but in all events within 10 days after
the date on which a valid request to fix a Demand Record Date is received, adopt a resolution fixing the Demand Record Date and shall make a public announcement of such Demand Record Date. &nbsp;If no Demand Record Date has been fixed by the Board
of Directors within 10 days after the date on which such request is received by the Secretary, the Demand Record Date shall be the 10th day after the first date on which a valid written request to set a Demand Record Date is received by the
Secretary. &nbsp;To be valid, such written request shall set forth the purpose or purposes for which the special meeting is to be held, shall be signed by one or more shareholders of record (or their duly authorized proxies or other
representatives), shall bear the date of signature of each such shareholder (or proxy or other representative) and shall set forth all information about each such shareholder and about the &nbsp;&nbsp;beneficial owner or owners, if any, on whose
behalf the request is made that would be required to be set forth in a shareholder's notice described in paragraph (a) of Section 16 of Article II of these by-laws.</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:108pt;color:#000000'>(c) &nbsp;<FONT style='font-family:Times New Roman'>In order for a shareholder or shareholders to demand a &nbsp;&nbsp;special meeting, a written
demand or demands for a special meeting by the holders of record as of the Demand Record Date of not less than one-fifth of all the outstanding shares of the Corporation entitled to vote on the matter proposed to be considered at the special meeting
must be delivered to the Corporation. To be valid, each written demand by a shareholder for a special meeting shall set forth the specific purpose or purposes for which the special meeting is to be held (which purpose or purposes shall be limited to
the purpose or purposes set forth in the written request to set a Demand Record Date received by the Corporation pursuant to paragraph (b) of this Section 2), shall be signed by one or more persons who as of the Demand Record Date are shareholders
of record (or their duly authorized proxies or other representatives), shall bear the date of signature of each such shareholder (or proxy or other representative), shall set forth the name and address, as they appear in the Corporation's books, of
each shareholder signing such demand and the class and number of shares of the Corporation which are owned of record and beneficially by each such shareholder, shall be sent to the Secretary by hand or by certified or registered mail, return receipt
requested, and shall be received by the Secretary within 60 days after the Demand Record Date.</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:108pt;color:#000000'><A name=_aci_pg2 />(d) &nbsp;<FONT
style='font-family:Times New Roman'>The Corporation shall not be required to call a special meeting upon shareholder demand unless, in addition to the documents required by paragraph (c) of this Section 2, the Secretary receives a written agreement signed
 by each Soliciting Shareholder (as defined below), pursuant to which each Soliciting Shareholder, jointly and severally, agrees to pay the Corporation's costs of holding the special meeting, including the costs of preparing and mailing proxy
materials for the Corporation's own solicitation, provided that if each of the resolutions introduced by any Soliciting Shareholder at such meeting is adopted, and each of the individuals nominated by or on behalf of any Soliciting Shareholder for
election as a director at such meeting is elected, then the Soliciting Shareholders shall not be required to pay such costs. &nbsp;For purposes of this paragraph (d), the following terms shall have the meanings set forth below:</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;margin-left:36pt;margin-right:36pt;color:#000000'><KBD style='position:absolute;text-align:right;margin-left:-36pt;width:36pt;font:10pt Courier New'>(i)
</KBD><KBD style=margin-left:0pt>&nbsp;</KBD><FONT style='font-family:Times New Roman'>&quot;Affiliate&quot; of any Person (as defined herein) shall mean any Person controlling, controlled by or under common control with such first
Person.</FONT>&nbsp;</P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;margin-left:36pt;margin-right:36pt;color:#000000'><KBD style='position:absolute;text-align:right;margin-left:-36pt;width:36pt;font:10pt Courier New'>(ii)
</KBD><KBD style=margin-left:0pt>&nbsp;</KBD><FONT style='font-family:Times New Roman'>&quot;Participant&quot; shall have the meaning assigned to such term in Instruction 3 of Item 4 of Schedule 14A promulgated under the Securities Exchange Act of
1934, as amended (the &quot;Exchange Act&quot;)</FONT>&nbsp;</P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;margin-left:36pt;margin-right:36pt;color:#000000'><KBD style='position:absolute;text-align:right;margin-left:-36pt;width:36pt;font:10pt Courier New'>(iii)
</KBD><KBD style=margin-left:0pt>&nbsp;</KBD><FONT style='font-family:Times New Roman'>&quot;Person&quot; shall mean any individual, firm, corporation, partnership, joint venture, association, trust, unincorporated organization or other
entity.</FONT>&nbsp;</P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;margin-left:36pt;margin-right:36pt;color:#000000'><KBD style='position:absolute;text-align:right;margin-left:-36pt;width:36pt;font:10pt Courier New'>(iv)
</KBD><KBD style=margin-left:0pt>&nbsp;</KBD><FONT style='font-family:Times New Roman'>&quot;Proxy&quot; shall have the meaning assigned to such term in Rule 14a-1 promulgated under the Exchange Act.</FONT>&nbsp;</P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;margin-left:36pt;margin-right:36pt;color:#000000'><KBD style='position:absolute;text-align:right;margin-left:-36pt;width:36pt;font:10pt Courier New'>(v)
</KBD><KBD style=margin-left:0pt>&nbsp;</KBD><FONT style='font-family:Times New Roman'>&quot;Solicitation&quot; shall have the meaning assigned to such term in Rule 14a-1 promulgated under the Exchange Act.</FONT>&nbsp;</P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;margin-left:36pt;margin-right:36pt;color:#000000'><KBD style='position:absolute;text-align:right;margin-left:-36pt;width:36pt;font:10pt Courier New'>(vi)
</KBD><KBD style=margin-left:0pt>&nbsp;</KBD><FONT style='font-family:Times New Roman'>&quot;Soliciting Shareholder&quot; shall mean, with respect to any special meeting demanded by a shareholder or shareholders, any of the following Persons: (A) if
the number of shareholders signing the demand or demands of meeting delivered to the corporation pursuant to paragraph (c) of this Section 2 is 10 or fewer, each shareholder signing any such demand; (B) if the number of shareholders signing the
demand or demands of meeting delivered to the corporation pursuant to paragraph (c) of this Section 2 is more than 10, each Person who either (x) was a Participant in any Solicitation of such demand or demands or (y) at the time of the delivery to
the </FONT><A name=_aci_pg3 /><FONT style='font-family:Times New Roman'>Corporation of the documents described in paragraph (c) of this Section 2 had engaged or intended to engage in any Solicitation of Proxies for use at such Special Meeting (other than
a Solicitation of &nbsp;Proxies on behalf of the Corporation); or &nbsp;(C) any Affiliate of a Soliciting Shareholder, if a majority of the Directors then in office determine, reasonably and in good faith, that such Affiliate should be required to
sign the written notice described in paragraph (c) of this Section 2 and/or the written agreement described in this paragraph (d) in order to prevent the purposes of this Section 2 from being evaded. &nbsp;&nbsp;</FONT>&nbsp;</P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:108pt;color:#000000'>(e) &nbsp;<FONT style='font-family:Times New Roman'>Except as provided in the following sentence, any special meeting shall be held at such hour and
day as may be designated by whichever of the President or the Board of Directors shall have called such meeting. &nbsp;In the case of any special meeting called by the Board of Directors or the President upon the demand of shareholders (a
&quot;Demand Special Meeting&quot;), such meeting shall be held at such hour and day as may be designated by the Board of Directors or the President; provided, however, that the date of any Demand Special Meeting shall be not more than 60 days after
the Meeting Record Date (as defined in Section 6 of this Article II); and provided further that in the event that the Directors then in office fail to designate an hour and date for a Demand Special Meeting within 10 days after the date that valid
written demands for such meeting by the holders of record as of the Demand Record Date of shares representing not less than one-fifth of all the outstanding shares of the Corporation entitled to vote on the matter proposed to be considered at the
special meeting are delivered to the Corporation (the &quot;Delivery Date&quot;), then such meeting shall be held at 2:00 P.M. local time on the 90th day after the Delivery Date or, if such 90th day is not a Business Day (as defined below), on the
first preceding Business Day. &nbsp;In fixing a meeting date for any special meeting, the President or the Board of Directors may consider such factors as he or it deems relevant within the good faith exercise of his or its business judgment,
including, without limitation, the nature of the action proposed to be taken, the facts and circumstances surrounding any demand for such meeting, and any plan of the Board of Directors to call an annual meeting or a special meeting for the conduct
of related business.</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:108pt;color:#000000'>(f) &nbsp;<FONT style='font-family:Times New Roman'>The Corporation may engage independent inspectors of elections to
act as an agent of the Corporation for the purpose of promptly performing a ministerial review of the validity of any purported written demand or demands for a special meeting received by the Secretary. &nbsp;For the purpose of permitting the
inspectors to perform such review, no purported demand shall be deemed to have been delivered to the Corporation until the earlier of (i) 5 Business Days following receipt by the Secretary of such purported demand and (ii) such date as the
independent inspectors </FONT><A name=_aci_pg4 /><FONT style='font-family:Times New Roman'>certify to the Corporation that the valid demands received by the Secretary represent not less than one-fifth of all the outstanding shares of the Corporation entitled
to vote on the matter proposed to be considered at the special meeting. &nbsp;Nothing contained in this paragraph (f) shall in any way be construed to suggest or imply that the Board of Directors or any shareholder shall not be entitled to contest
the validity of any demand, whether during or after such 5 Business Day period, or to take any other action (including, without limitation, the commencement, prosecution or defense of any litigation with respect thereto).</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:108pt;color:#000000'>(g) &nbsp;<FONT style='font-family:Times New Roman'>For purposes of these by-laws, &quot;Business Day&quot; shall mean any day other than a Saturday,
a Sunday or a day on which banking institutions in the State of Illinois are authorized or obligated by law or executive order to close.</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 3. &nbsp;<FONT style='font-family:Times New Roman'>PLACE OF MEETING. &nbsp;The Board of Directors may designate any place as the place of
meeting for any annual meeting or for any special meeting called by the Board of Directors. &nbsp;If no designation is made or if a special meeting be otherwise called, the place of meeting shall be at the principal office of the Company in
Naperville, Illinois.</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 4. &nbsp;<FONT style='font-family:Times New Roman'>TIME OF ELECTING DIRECTORS. &nbsp;Directors shall be
elected at the regular annual meeting of the shareholders. &nbsp;If the election of directors is not held on the day of the annual meeting, the directors shall cause the election to be held as soon thereafter as conveniently may be. &nbsp;No failure
to elect directors or to hold the annual meeting at the designated time shall work any forfeiture or dissolution of the Corporation.</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION
5. &nbsp;<FONT style='font-family:Times New Roman'>NOTICE OF MEETINGS. &nbsp;Written notice stating the place, date, and hour of the meeting, and in the case of a special meeting, the purpose or purposes for which the meeting is called, shall be
delivered not less than ten nor more than sixty days before the date of the meeting, or in the case of a merger, consolidation, share exchange, dissolution or sale, lease or exchange of assets, not less than twenty nor more than sixty days before
the meeting, either personally or by mail, by or at the direction of the President, or the Secretary, or the officer or persons calling the meeting, to each shareholder of record entitled to vote at such meeting. &nbsp;If mailed, such notices shall
be deemed to be delivered when deposited in the United States mail, addressed to the shareholder at his address as it appears on the records of the Corporation, with postage thereon prepaid. &nbsp;When a meeting is adjourned to another time or
place, notice need not be given of the adjourned meeting if the time and place thereof are announced at the meeting at which the adjournment is taken. &nbsp;&nbsp;Any previously scheduled meeting of shareholders may be postponed, and any special
meeting of the shareholders may be cancelled upon public notice given prior to the date previously scheduled for such meeting of shareholders.</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'><A name=_aci_pg5 />SECTION 6. &nbsp;<FONT style='font-family:Times New Roman'>FIXING OF RECORD DATE. &nbsp;
The Board of Directors may fix in advance a date not less than ten days and not more than sixty days, or in the case of a merger, consolidation, share exchange, dissolution or sale, lease or exchange of assets, not less than twenty and not more than sixty
 days, prior to the date of any annual meeting or special meeting as the record date for the determination of shareholders entitled to notice of, or to vote at, such meeting (the &quot;Meeting Record Date&quot;). &nbsp;In the case of any Demand
Special Meeting, (i) the Meeting Record Date shall be not later than the 30th day after the Delivery Date and (ii) if the Board of Directors fails to fix the Meeting Record Date within 30 days after the Delivery Date, then the close of business on
such 30th day shall be the Meeting Record Date. &nbsp;The Board of Directors may also fix in advance a date as the record date for the purpose of determining shareholders entitled to take any other &nbsp;action or determining shareholders for any
other purpose. &nbsp;Such record date shall be not more than sixty days prior to the date on which the particular action, requiring such determination of shareholders, is to be taken. &nbsp;Except in the case of a Demand Special Meeting, if no
record date is fixed, the record date for the determination of shareholders entitled to notice of or to vote at a meeting of shareholders shall be the date on which notice of the meeting is mailed, and the record date for the determination of
shareholders for any other purpose shall be the date on which the Board of Directors adopts the resolution relating thereto. &nbsp;A determination of shareholders of record entitled to notice of or to vote at a meeting of shareholders shall apply to
any adjournment of the meeting. &nbsp;Nothing in this Section 6 shall in any way be construed to change the procedure for setting the record date and for determining the effectiveness of shareholder action by written consent as set forth in Section
7 of this Article II.</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 7. &nbsp;<FONT style='font-family:Times New Roman'> WRITTEN CONSENTS.</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:108pt;color:#000000'>(a) &nbsp;<FONT style='font-family:Times New Roman'>In order that the Corporation may determine the shareholders entitled to consent to corporate
action in writing without a meeting, the Board of Directors may fix a record date (a &quot;Consent Record Date&quot;). &nbsp;The Consent Record Date shall not precede the date upon which the resolution fixing the Consent Record Date is adopted by
the Board of Directors and shall not be more than 10 days after the date upon which the resolution fixing the Consent Record Date is adopted by the Board of Directors. Any shareholder of record seeking to consent to corporate action in writing
without a meeting shall, by sending written notice to the Secretary of the Corporation by hand or by certified or registered mail, return receipt requested, request the Board of Directors to fix a Consent Record Date. The Board of Directors shall
promptly, but in all events within 10 days after the date on which a valid request to fix a Consent Record Date is received, adopt a resolution fixing the Consent Record Date and shall make a public announcement of such Consent Record Date. &nbsp;If
no Consent Record Date has been fixed by the Board of Directors within 10 days after the date on which such </FONT><A name=_aci_pg6 /><FONT style='font-family:Times New Roman'>request is received by the Secretary, the Consent Record Date shall be the 10th
 day after the first date on which a valid written request to set a Consent Record Date is received by the Secretary. &nbsp;To be valid, such written request shall set forth the purpose or purposes for which the written consent is sought to be used,
shall be signed by one or more shareholders of record (or their duly authorized proxies or other representatives), shall bear the date of signature of each such shareholder (or proxy or other representative) and shall set forth all information about
each such shareholder and about the beneficial owner or owners, if any, on whose behalf the request is made that would be required to be set forth in a shareholder's notice described in paragraph (a) of Section 16 of Article II of these
by-laws.</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:108pt;color:#000000'>(b) &nbsp;<FONT style='font-family:Times New Roman'> Every written consent shall be signed by one or more persons who as of the
Consent Record Date are shareholders of record on the Consent Record Date (or their duly authorized proxies or other representatives), shall bear the date of signature of each such shareholder (or proxy or other representative), and shall set forth
the name and address, as they appear in the Corporation's books, of each shareholder signing such consent and the class and number of shares of the Corporation which are owned of record and beneficially by each such shareholder and shall be sent to
the Secretary by hand or by certified or registered mail, return receipt requested. &nbsp;No written consent shall be effective to take the corporate action referred to therein unless, within 60 days of the date the earliest dated written consent
was received in accordance with this paragraph (b) of this Section 7, a written consent or consents signed by a sufficient number of holders to take such action are delivered to the Corporation. </FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:108pt;color:#000000'>(c) &nbsp;<FONT style='font-family:Times New Roman'>In the event of the delivery, in the manner provided by paragraph (b) of this Section 7, to the
Corporation of the requisite written consent or consents to take corporate action and/or any related revocation or revocations, the Corporation shall engage independent inspectors of elections for the purpose of promptly performing a ministerial
review of the validity of the consents and revocations.&#160;&#160;For the purpose of permitting the inspectors to perform such review, no action by written consent without a meeting shall be effective until such date as the independent inspectors
certify to the Corporation that the consents represent at least the minimum number of votes that would be necessary to take the corporate action. &nbsp;Nothing contained in this paragraph (c) of Section 7 shall in any way be construed to suggest or
imply that the Board of Directors or any shareholder shall not be entitled to contest the validity of any consent or revocation thereof, whether before or after certification by the independent inspectors, or to take any other action (including,
without limitation, the commencement, prosecution or defense of any litigation with respect thereto, and the seeking of injunctive relief in such litigation).</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'><A name=_aci_pg7 />SECTION 8. &nbsp;<FONT style='font-family:Times New Roman'>VOTING &nbsp;LISTS. &nbsp;
The officer or agent having charge of the transfer books for shares of the Corporation shall make, at least ten days before each meeting of shareholders, a complete list of the shareholders entitled to vote at such meeting, arranged in alphabetical order,
 showing the address of and the number of shares registered in the name of the shareholder, which list, for a period of ten days prior to such meeting, shall be kept on file at the registered office of the Corporation and shall be open to inspection
by any shareholder for any purpose germane to the meeting, at any time during usual business hours. &nbsp;Such list shall also be produced and kept open at the time and place of the meeting and may be inspected by any shareholder during the whole
time of the meeting. &nbsp;The original share ledger or transfer book, or a duplicate thereof kept in this State, shall be prima facie evidence as to who are the shareholders entitled to examine such list or share ledger or transfer book or to vote
at any meeting of shareholders.</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 9. &nbsp;<FONT style='font-family:Times New Roman'>QUORUM. &nbsp;The holders of a majority of the
outstanding shares of the Corporation, present in person or represented by proxy, shall constitute a quorum at any meeting of shareholders; provided that if less than a majority of the outstanding shares are represented at said meeting, a majority
of &nbsp;the shares so represented may adjourn the meeting at any time without further notice. &nbsp;If a quorum is present, the affirmative vote of the majority of the shares represented at the meeting shall be the act of the shareholders, unless
the vote of a greater number or voting by classes is required by The Business Corporation Act, the articles of incorporation or these by-laws. &nbsp;The Chairman of the meeting or the holders of record of a majority of the shares represented at the
meeting shall have the power to adjourn the meeting from time to time, without notice other than an announcement at the meeting. &nbsp;At any adjourned meeting at which a quorum shall be present, any business may be transacted which might have been
transacted at the original meeting. &nbsp;Withdrawal of shareholders from any meeting shall not cause failure of a duly constituted quorum at that meeting.</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 10. &nbsp;<FONT style='font-family:Times New Roman'>VOTING BY BALLOT. &nbsp;Voting on any question or in any election may be by voice unless
the presiding officer shall order or any shareholder shall demand that voting be by ballot.</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 11. &nbsp;<FONT
style='font-family:Times New Roman'>PROXIES. &nbsp;Each shareholder shall have one vote for each share of stock having voting power and entitled to vote, registered in his name on the books of the Corporation, and &nbsp;at all meetings of the
shareholders, shareholders may vote either in person or by proxy executed in writing by the shareholders, or by a duly authorized attorney. &nbsp;No proxy shall be valid after eleven months from the date of its execution, except where the stock is
pledged as security for a debt to the person holding the proxy.</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'><A name=_aci_pg8 />SECTION 12. &nbsp;
<FONT style='font-family:Times New Roman'>VOTING OF SHARES. &nbsp;
Each outstanding share, regardless of class, shall be entitled to one vote upon each matter submitted to vote at a meeting of shareholders.</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION
 13. &nbsp;<FONT style='font-family:Times New Roman'>VOTING OF SHARES BY CERTAIN HOLDERS. &nbsp;Shares outstanding in the name of another corporation, domestic or foreign, may be voted by such officer, agent, or proxy as the by-laws of such
corporation may prescribe, or, in the absence of such provision, as the Board of Directors of such corporation may determine.</FONT></P> <P style='font:10pt Courier New;margin:0;color:#000000'><FONT style='font-family:Times New Roman'>Shares
outstanding in the name of a deceased person, a minor ward, or an incompetent person, may be voted by his administrator, executor, court appointed guardian, or conservator or custodian under a Gift to Minors Act, either in person or by proxy without
a transfer of such shares into the name of such administrator, executor, court appointed guardian, or conservator. &nbsp;Shares outstanding in the name of a trustee may be voted by him, either in person or by proxy.</FONT></P>
<P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;</P> <P style='font:10pt Courier New;margin:0;color:#000000'><FONT style='font-family:Times New Roman'>Shares outstanding in the name of a receiver may be voted by such receiver, and
shares held by or under the control of a receiver may be voted by such receiver without the transfer thereof into his name if authority so to do be contained in an appropriate order of the court by which such receiver was appointed.</FONT></P>
<P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;</P> <P style='font:10pt Courier New;margin:0;color:#000000'><FONT style='font-family:Times New Roman'>A shareholder whose shares are pledged shall be entitled to vote such shares until
the shares have been transferred into the name of the pledgee, and thereafter the pledgee shall be entitled to vote the shares so transferred.</FONT></P> <P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;</P>
<P style='font:10pt Courier New;margin:0;color:#000000'><FONT style='font-family:Times New Roman'>Any number of shareholders may create a voting trust for the purpose of conferring upon a trustee or trustees the right to vote or otherwise represent
their share, for a period not to exceed ten years, by entering into a written voting trust agreement specifying the terms and conditions of the voting trust, and by transferring their shares to such trustee or trustees for the purpose of the
agreement. &nbsp;Any such trust agreement shall not become effective until a counterpart of the agreement is deposited with the Corporation at its registered office. &nbsp;The counterpart of the voting trust agreement so deposited with the
Corporation shall be subject to the same right of examination by a shareholder of the Corporation, in person or by agent or attorney, as are the books and records of the Corporation, and shall be subject to examination by any holder of a beneficial
interest in the voting trust, either in person or by agent or attorney, at any reasonable time for any proper purpose.</FONT></P> <P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;</P>
<P style='font:10pt Courier New;margin:0;color:#000000'><FONT style='font-family:Times New Roman'>Shares of its own stock belonging to this Corporation shall not be voted, directly or indirectly, at any meeting and shall not be counted in
determining the total number of outstanding shares at any given time, but shares of its own stock held by it in a fiduciary </FONT><A name=_aci_pg9 /><FONT style='font-family:Times New Roman'>capacity may be voted and shall be counted in determining the
total number of outstanding shares at any given time.</FONT></P> <P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;</P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 14. &nbsp;<FONT
style='font-family:Times New Roman'>CUMULATIVE VOTING. &nbsp;In all elections for directors, every shareholder shall have the right to vote, in person or by proxy, the number of shares owned &nbsp;by him, for as many persons as there are directors
to be elected, or to cumulate said shares, and give one candidate as many votes as the number of directors multiplied by the number of his shares shall equal, or to distribute them on the same principle among as many candidates as he shall see
fit.</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 15. &nbsp;<FONT style='font-family:Times New Roman'>INSPECTORS. &nbsp;At any meeting of shareholders, the presiding officer
may, or upon the request of any shareholder shall appoint one or more persons as inspectors for such meeting.</FONT></P> <P style='font:10pt Courier New;margin:0;color:#000000'><FONT style='font-family:Times New Roman'>Such inspectors shall
ascertain and report the number of shares represented at the meeting, based upon their determination of the validity and effect of proxies; count all votes and report the results; and do such other acts as are proper to conduct the election and
voting with impartiality and fairness to all the shareholders.</FONT></P> <P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;</P> <P style='font:10pt Courier New;margin:0;color:#000000'><FONT style='font-family:Times New Roman'>Each
report of an inspector shall be in writing and signed by him or by a majority of them if there be more than one inspector acting at such meeting. &nbsp;If there is more than one inspector, the report of a majority shall be the report of the
inspectors. &nbsp;The report of the inspector or inspectors on the number of shares represented at the meeting and the results of the voting shall be prima facie evidence thereof.</FONT></P>
<P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;</P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 16. &nbsp;<FONT style='font-family:Times New Roman'>NOTICE OF SHAREHOLDER
NOMINATIONS AND BUSINESS PROPOSALS. &nbsp;(a) Shareholder Nominations. &nbsp;Only persons who are nominated in accordance with the following procedures shall be eligible for election as directors of the Corporation, except as may be otherwise
provided in the Articles of Incorporation of the Corporation. &nbsp;Nominations of persons for election to the Board of Directors may be made at any annual meeting of shareholders (i) by or at the direction of the Board of Directors (or any duly
authorized committee thereof) or (ii) by any shareholder of the Corporation (A) who is a shareholder of record on the date of the giving of the notice provided for in this Section 16(a) and on the record date for the determination of shareholders
entitled to vote at such annual meeting and (B) who complies with the notice procedures set forth in this Section 16(a).</FONT></P> <P style='font:10pt Courier New;margin:0;color:#000000'><FONT style='font-family:Times New Roman'>In addition to any
other applicable requirements, for a nomination to be made by a shareholder, such shareholder must have given timely notice thereof in proper written form to the Secretary of the Corporation.</FONT></P>
<P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;
</P> <P style='font:10pt Courier New;margin:0;color:#000000'><A name=_aci_pg10 /><FONT style='font-family:Times New Roman'>To be timely, a shareholder's notice to the Secretary must be delivered to or mailed and received at the principal executive offices
 of the Corporation not less than ninety (90) days nor more than one hundred twenty (120) days in advance of the anniversary date of the mailing of the Corporation's proxy statement in connection with the previous year's annual meeting; provided,
however, that in the event that the date of the applicable annual meeting has been changed by more than 30 days from the date contemplated at the time of the previous year's proxy statement, notice by the shareholder in order to be timely must be so
received not later than the close of business on the tenth (10th) day following the day on which notice of the date of the annual meeting was mailed or public announcement of the date of the annual meeting was made, whichever first occurs. &nbsp;In
no event shall the public announcement of an adjournment of an annual meeting commence a new time period for the giving of a shareholder's notice as described above.</FONT></P> <P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;</P>
<P style='font:10pt Courier New;margin:0;color:#000000'><FONT style='font-family:Times New Roman'>To be in proper written form, a shareholder's notice to the Secretary must set forth (i) as to each person whom the shareholder proposes to nominate
for election as a director (A) the name, age, business address and residence address of the person, (B) the principal occupation or employment of the person, (C) the class or series and number of shares of capital stock of the Corporation which are
owned beneficially or of record by the person and (D) any other information relating to the person that would be required to be disclosed in a proxy statement or other filings required to be made in connection with solicitations of proxies for
election of directors pursuant to Section 14 of the Securities Exchange Act of 1934, as amended (the &quot;Exchange Act&quot;), and the rules and regulations promulgated thereunder; and (ii) as to the shareholder giving the notice (A) the name and
record address of such shareholder, (B) the class or series and number of shares of capital stock of the Corporation which are owned beneficially or of record by such shareholder, (C) a description of all arrangements or understandings between such
shareholder and each proposed nominee and any other person or persons (including their names) pursuant to which the nomination(s) are to be made by such shareholder, (D) a representation that such shareholder intends to appear in person or by proxy
at the meeting to nominate the persons named in its notice and (E) any other information relating to such shareholder that would be required to be disclosed in a proxy statement or other filings required to be made in connection with solicitations
of proxies for election of directors pursuant to Section 14 of the Exchange Act and the rules and regulations promulgated thereunder. &nbsp;Such notice must be accompanied by a written consent of each proposed nominee to being named as a nominee and
to serve as a director if elected.</FONT></P> <P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;</P> <P style='font:10pt Courier New;margin:0;color:#000000'><FONT style='font-family:Times New Roman'>No person shall be eligible for
election as a director of the Corporation unless nominated in accordance with the procedures set forth in this Section 16(a). &nbsp;
If the Chairman of the meeting </FONT><A name=_aci_pg11 /><FONT style='font-family:Times New Roman'>determines that a nomination was not made in accordance with the foregoing procedures, the Chairman shall declare to the meeting that the nomination was
 defective and such defective nomination shall be disregarded.</FONT></P> <P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;</P>
<P style='font:10pt Courier New;margin:0;color:#000000'><FONT style='font-family:Times New Roman'>Notwithstanding anything in the third paragraph of this Section 16(a) to the contrary, in the event that the number of directors to be elected to the
Board of Directors of the Corporation is increased and there is no public announcement by the Corporation naming all of the nominees for director or specifying the size of the increased board of directors at least one hundred (100) days prior to the
first anniversary of the preceding year's annual meeting, a shareholder's notice required by this Section 16(a) shall also be considered timely, but only with respect to nominees for any new positions created by such increase, if it shall be
delivered to the Secretary at the principal executive offices of the Corporation not later than the close of business on the tenth (10th) day following the day on which such public announcement is first made by the Corporation.</FONT></P>
<P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;</P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:108pt;color:#000000'>(b) &nbsp;<FONT style='font-family:Times New Roman'>Shareholder Business Proposals.
&nbsp;No business may be transacted at an annual meeting of shareholders, other than business that is either (i) specified in the notice of meeting (or any supplement thereto) given by or at the direction of the Board of Directors (or any duly
authorized committee thereof), (ii) otherwise properly brought before the annual meeting by or at the direction of the Board of Directors (or any duly authorized committee thereof) or (iii) otherwise properly brought before the annual meeting by any
shareholder of the Corporation (A) who is a shareholder of record on the date of the giving of the notice provided for in this Section 16(b) and on the record date for the determination of shareholders entitled to vote at such annual meeting and (B)
who complies with the notice procedures set forth in this Section 16(b).</FONT></P> <P style='font:10pt Courier New;margin:0;color:#000000'><FONT style='font-family:Times New Roman'>In addition to any other applicable requirements, for business to
be properly brought before an annual meeting by a shareholder, such shareholder must have given timely notice thereof in proper written form to the Secretary of the Corporation.</FONT></P>
<P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;</P> <P style='font:10pt Courier New;margin:0;color:#000000'><FONT style='font-family:Times New Roman'>To be timely, a shareholder's notice to the Secretary must be delivered to or mailed
and received at the principal executive offices of the Corporation not less than ninety (90) days nor more than one hundred twenty (120) days in advance of the anniversary date of the mailing of the Corporation's proxy statement in connection with
the previous year's annual meeting; provided, however, that in the event that the date of the applicable annual meeting has been changed by more than 30 days from the date contemplated at the time of the previous year's proxy statement, notice by
the shareholder in order to be timely must be so received not later than the close of business on the tenth (10th) day following the day on which notice of the date of the annual meeting </FONT><A name=_aci_pg12 /><FONT
style='font-family:Times New Roman'>was mailed or public announcement of the date of the annual meeting was made, whichever first occurs. &nbsp;
In no event shall the public announcement of an adjournment of an annual meeting commence a new time period for the giving of a shareholder's notice as described above.</FONT></P> <P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;
</P> <P style='font:10pt Courier New;margin:0;color:#000000'><FONT style='font-family:Times New Roman'>To be in proper written form, a shareholder's notice to the Secretary must set forth as to each matter such shareholder proposes to bring before the annual
 meeting (i) a brief description of the business desired to be brought before the annual meeting and the reasons for conducting such business at the annual meeting, (ii) the name and record address of such shareholder, (iii) the class or series and
number of shares of capital stock of the Corporation which are owned beneficially or of record by such shareholder, (iv) a description of all arrangements or understandings between such shareholder and any other person or persons (including their
names) in connection with the proposal of such business by such shareholder and any material interest of such shareholder in such business and (v) a representation that such shareholder intends to appear in person or by proxy at the annual meeting
to bring such business before the meeting.</FONT></P> <P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;</P> <P style='font:10pt Courier New;margin:0;color:#000000'><FONT style='font-family:Times New Roman'>No business shall be conducted
at the annual meeting of shareholders except business brought before the annual meeting in accordance with the procedures set forth in this Section 16(b); provided, however, that, once business has been properly brought before the annual meeting in
accordance with such procedures, nothing in this Section 16(b) shall be deemed to preclude discussion by any shareholder of any such business. &nbsp;If the Chairman of an annual meeting determines that business was not properly brought before the
annual meeting in accordance with the foregoing procedures, the Chairman shall declare to the meeting that the business was not properly brought before the meeting and such business shall not be transacted.</FONT></P>
<P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;</P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:108pt;color:#000000'>(c) &nbsp;<FONT style='font-family:Times New Roman'>For purposes of this Section
16, &quot;public announcement&quot; shall mean an announcement in a press release reported by the Dow Jones News Service, Associated Press or comparable national news service or in a document publicly filed by the Corporation with the Securities and
Exchange Commission pursuant to Section 13, 14 or 15(d) of the Exchange Act. &nbsp;</FONT></P> <P align=center style='font:10pt Courier New;margin-top:6pt;margin-bottom:12pt'><BR>ARTICLE III<FONT style='font-family:Times New Roman'>BOARD OF
DIRECTORS</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 1. &nbsp;<FONT style='font-family:Times New Roman'>GENERAL POWERS. &nbsp;The business of the Corporation shall be managed
by its Board of Directors. &nbsp;</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 2. &nbsp;<FONT style='font-family:Times New Roman'>NUMBER, TENURE AND QUALIFICATIONS. &nbsp;The
number of directors of the Corporation shall be eight (8), provided however, that effective as of the Company's 2021 Annual Meeting of Shareholders, the number of directors shall </FONT><A name=_aci_pg13 /><FONT style='font-family:Times New Roman'>be decreased
 to seven (7). Each director shall hold office until the next annual meeting of shareholders or until his successor shall have been elected and qualified. &nbsp;Directors need not be residents of Illinois or shareholders of the Corporation.
&nbsp;The number of directors may be increased or decreased from time to time by the amendment of this section; but no decreases shall have the effect of shortening the term of any incumbent director. &nbsp;&nbsp; &nbsp;&nbsp;</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 3. &nbsp;<FONT style='font-family:Times New Roman'>REGULAR MEETINGS. &nbsp;Immediately after the adjournment of the annual meeting of the
shareholders of the Corporation, the newly elected directors shall meet for the purpose of organization, the election of officers and the transaction of such other business as may properly come before the meeting. &nbsp;Other regular meetings shall
be held at such time as shall from time to time be determined by the Board. &nbsp;&nbsp;</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 4. &nbsp;<FONT
style='font-family:Times New Roman'>SPECIAL MEETINGS. &nbsp;Special meetings of the Board of Directors shall be held whenever called by the President or by a majority of the directors. &nbsp;&nbsp;</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 5. &nbsp;<FONT style='font-family:Times New Roman'>NOTICE. &nbsp;Notice of any special meeting shall be given, at least 24 hours previous
thereto to each director personally by telegraph, telephone, facsimile transmission or by written notice duly served on each director, or sent or mailed to each director at his business address. &nbsp;If notice of any special meeting is to be given
less than five days prior to such meeting, notice shall be by means of telegraph, telephone, facsimile transmission or overnight courier. &nbsp;If mailed, such notice shall be deemed to be delivered when deposited in the United States mail so
addressed, with postage thereon prepaid. &nbsp;If notice be given by telegram, such notice shall be deemed to be delivered when the telegram is delivered to the telegram company. &nbsp;The attendance of a director at any meeting shall constitute a
waiver of notice of such meeting, except where a director attends a meeting for the express purpose of objecting to the transaction of any business because the meeting is not lawfully called or convened. &nbsp;Neither the business to be transacted
at, nor the purpose of, any regular or special meeting of the Board of Directors need be specified in the notice or waiver of notice of such meeting.</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 6. &nbsp;<FONT style='font-family:Times New Roman'>PLACE OF MEETINGS. &nbsp;Regular and Special Meetings of the Board of Directors shall be
held at the Registered Office of the Corporation, or any such other place, either within or without the State of Illinois, as may from time to time be determined by the Board of Directors. </FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 7. &nbsp;<FONT style='font-family:Times New Roman'>QUORUM OF DIRECTORS - MANNER OF ACTING. &nbsp;A majority of the number of directors fixed by
the by-laws, or in the absence of a by-law fixing the number of directors, then of the number stated in the articles of incorporation, shall constitute a quorum for the transaction of business unless the greater number is required by the articles of
incorporation or the by-laws. The act of </FONT><A name=_aci_pg14 /><FONT style='font-family:Times New Roman'>the majority of the directors present at a meeting at which a quorum is present shall be the act of the Board of Directors, unless the act of
 a greater number is required by statute, these by-laws, or the articles or incorporation. &nbsp;&nbsp;</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 8. &nbsp;<FONT
style='font-family:Times New Roman'>VACANCIES. &nbsp;Any vacancy occurring in the Board of Directors and any directorship to be filled by reason of an increase in the number of directors, may be filled by election at an annual meeting or at a
special meeting of shareholders called for that purpose. &nbsp;A director elected to fill a vacancy shall be elected for the unexpired term of his predecessor in office. &nbsp;&nbsp;</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 9. &nbsp;<FONT style='font-family:Times New Roman'>ACTION WITHOUT A MEETING. &nbsp;Unless specifically prohibited by the articles of
incorporation or by-laws, any action required to be taken at a meeting of the Board of Directors, or any other action which may be taken at a meeting of the Board of Directors, or of any committee thereof may be taken without a meeting if a consent
in writing, setting forth the action so taken, shall be signed by all the directors entitled to vote with respect to the subject matter thereof, or by all the members of such committee, as the case may be. &nbsp;Any such consent signed by all the
directors or all the members of the committee shall have the same effect as a unanimous vote, and may be stated as such in any document filed with the Secretary of State or with anyone else. &nbsp;&nbsp;</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 10. &nbsp;<FONT style='font-family:Times New Roman'>PRESUMPTION OF ASSENT. &nbsp;A director of the Corporation who is present at a meeting of
the Board of Directors at which action on any corporate matter is taken shall be conclusively presumed to have assented to the action taken unless his dissent shall be entered in the minutes of the meeting or unless he shall file his written dissent
to such action with the person acting as the secretary of the meeting before the adjournment thereof or shall forward such dissent by registered mail to the secretary of the Corporation immediately after the adjournment of the meeting. &nbsp;Such
right to dissent shall not apply to a director who voted in favor of such action. &nbsp;</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 11. &nbsp;<FONT
style='font-family:Times New Roman'>EXECUTIVE COMMITTEE. &nbsp;The Board of Directors, by resolution adopted by a majority of the number of directors fixed by the by-laws or otherwise, may appoint an executive committee, which committee, to the
extent provided in such resolution, shall have and exercise all of the authority of the Board of Directors in the management of the Corporation, except as otherwise required by law. &nbsp;Vacancies in the membership of the committee shall be filled
by the Board of Directors at a regular or special meeting of the Board of Directors. &nbsp;The executive committee shall keep regular minutes of its proceedings and report the same to the board when required. &nbsp;&nbsp;</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 12. &nbsp;<FONT style='font-family:Times New Roman'>COMMITTEES. &nbsp;The Board of Directors may from its membership appoint other committees
as it may from time to time by resolution determine and fix the number of members thereof, </FONT><A name=_aci_pg15 /><FONT style='font-family:Times New Roman'>and the board may delegate to such committees such of the powers vested in it as it may by the
 resolution of appointment determine. &nbsp;Such committees so appointed shall observe such rules and regulations for their conduct and keep such records as the board may from time to time by resolution determine. &nbsp;&nbsp;</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 13. &nbsp;<FONT style='font-family:Times New Roman'>COMPENSATION. &nbsp;The Board of Directors, by the affirmative vote of a majority of the
acting and qualified directors, and notwithstanding any personal interest of any director, shall have authority to establish reasonable compensation of all directors for services to the Corporation as directors, officers or otherwise. &nbsp;By
resolution of the Board of Directors, the directors may be paid their expenses of attending each meeting of the board. &nbsp;&nbsp;</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION
14. &nbsp;<FONT style='font-family:Times New Roman'>INDEMNIFICATION. &nbsp;(a) &nbsp;</FONT><FONT style='font-family:Times New Roman;border-bottom:1px solid #000000'>Generally</FONT><FONT style='font-family:Times New Roman'>. Each person who was or
is made a party or is threatened to be made a party to or is involved in or called as a witness in any action, suit or proceeding, whether civil, criminal, administrative or investigative, and any appeal therefrom (hereinafter, collectively a
&quot;proceeding&quot;), by reason of the fact that he or she, or a person of whom he or she is the legal representative, is, was or had agreed to become a director of the Corporation or is, was or had agreed to become an officer of the Corporation
or is or was serving at the request of the Corporation as a director, officer, employee or agent of another corporation or of a partnership, joint venture, trust or other enterprise, including service with respect to employee benefit plans, shall be
indemnified and held harmless by the Corporation to the fullest extent permitted under the Illinois Business Corporation Act of 1983 (the &quot;IBCA&quot;), as the same now exists or may hereafter be amended (but, in the case of any such amendment,
only to the extent that such amendment permits the Corporation to provide broader indemnification rights than the IBCA permitted the Corporation to provide prior to such amendment), against all expenses, liabilities and losses (including attorneys'
fees, judgments, fines, excise taxes or penalties pursuant to the Employee Retirement Income Security Act of 1974, as amended, and amounts paid or to be paid in settlement) reasonably incurred or suffered by such person in connection therewith;
provided that, except as explicitly provided herein, prior to a Change in Control of the Corporation, as defined herein, a person seeking indemnity in connection with a proceeding (or part thereof) initiated by such person against the Corporation or
any director, officer, employee or agent of the Corporation shall not be entitled thereto unless the Corporation has joined in or consented to such proceeding (or part thereof). &nbsp;For purposes of this Section 14, a &quot;Change in Control of the
Corporation&quot; shall be deemed to have occurred if the conditions set forth in any one of the following clauses shall have been satisfied: &nbsp;(i) any &quot;person&quot; (as such term is used in Section 13(d) and 14(d) of the Exchange Act)
other than (A) the Corporation, (B) a trustee or other fiduciary holding securities under an employee benefit plan of the Corporation, (C) an underwriter temporarily holding securities </FONT><A name=_aci_pg16 /><FONT
style='font-family:Times New Roman'>pursuant to an offering of such securities, or (D) a corporation owned, directly or indirectly, by the shareholders of the Corporation in substantially the same proportions as their ownership of shares of the Corporation
 (any such person is hereinafter referred to as a &quot;Person&quot;), is or becomes the &quot;beneficial owner&quot; (as defined in Rule 13d-3 under the Exchange Act), directly or indirectly, of securities of the Corporation representing more than
50% of the combined voting power of the Corporation's then outstanding securities (not including in the securities beneficially owned by such Person any securities acquired directly from the Corporation); (ii) there is consummated a merger or
consolidation of the Corporation with or into any other corporation, other than a merger or consolidation which would result in the holders of the voting securities of the Corporation outstanding immediately prior thereto holding securities which
represent, in combination with the ownership of any trustee or other fiduciary holding securities under an employee benefit plan of the Corporation, immediately after such merger or consolidation, more than 70% of the combined voting power of the
voting securities of either the Corporation or the other entity which survives such merger or consolidation or the parent of the entity which survives such merger or consolidation; (iii) the shareholders of the Corporation approve any plan or
proposal for the liquidation or dissolution of the Corporation or an agreement for the sale or disposition by the Corporation of all or substantially all the Corporation's assets; or (iv) during any period of two consecutive years (not including any
period prior to January 1, 1997), individuals who at the beginning of such period constitute the Board of Directors and any new director (other than a director designated by a Person who has entered into an agreement with the Corporation to effect a
transaction described in clause (i), (ii) or (iii) of this paragraph) whose election by the board or nomination for election by the Corporation's shareholders was approved by a vote of at least two-thirds (2/3) of the directors then still in office
who either were directors at the beginning of the period or whose election or nomination for election was previously so approved, cease for any reason to constitute a majority thereof. &nbsp;For purposes of this Section 14, where a Change in Control
of the Corporation results from a series of related transactions, the Change in Control of the Corporation shall be deemed to have occurred on the date of the consummation of the first such transaction. &nbsp;For purposes of clause (i) of this
paragraph, the shareholders of another corporation (other than this Corporation or a corporation described in clause (i)(D) of this paragraph), in the aggregate, shall be deemed to constitute a Person.</FONT></P>
<P style='font:10pt Courier New;margin:0;color:#000000'><FONT style='font-family:Times New Roman'>Prior to a Change in Control of the Corporation, any indemnification under this Section 14(a) (unless ordered by a court) shall be made by the
Corporation only as authorized in the specific case upon a determination that indemnification of the director, officer, employee or agent is proper in the circumstances because he or she has met the applicable standard of conduct set forth in the
IBCA. &nbsp;
Such determination shall be made (i) by the Board of Directors by a </FONT><A name=_aci_pg17 /><FONT style='font-family:Times New Roman'>majority vote of a quorum consisting of directors who were not parties to such action, suit or proceeding, or (ii) if
 such quorum is not obtainable, or, even if obtainable, if a quorum of disinterested directors so directs, by independent legal counsel (who may be the regular counsel of the Corporation) in a written opinion or (iii) by the shareholders.</FONT></P>
<P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;</P> <P style='font:10pt Courier New;margin:0;color:#000000'><FONT style='font-family:Times New Roman'>Following a Change in Control of the Corporation, any indemnification under this
Section 14(a) (unless ordered by a court) shall be paid by the Corporation unless within 60 days of such request for indemnification a determination is made, in a written opinion, by special independent counsel selected by the person requesting
indemnification and approved by the Corporation (which approval shall not be unreasonably withheld), which counsel has not otherwise performed services (other than in connection with similar matters) within the five years preceding its engagement to
render such opinion for such person or for the Corporation or any affiliates (as such term is defined in Rule 405 under the Securities Act of 1933, as amended) of the Corporation (whether or not they were affiliates when services were so performed)
(&quot;Independent Counsel&quot;), that indemnification of such person is not proper under the circumstances because such person has not met the necessary standard of conduct under the IBCA. &nbsp;Unless such person has theretofore selected
Independent Counsel pursuant to this Section 14(a) and such Independent Counsel has been approved by the Corporation, legal counsel approved by a resolution or resolutions of the Board of Directors prior to a Change in Control of the Corporation
shall be deemed to have been approved by the Corporation as required. &nbsp;Such Independent Counsel shall determine as promptly as practicable whether and to what extent such person would be permitted to be indemnified under applicable law and
shall render its written opinion to the Corporation and such person to such effect. &nbsp;The Corporation agrees to pay the reasonable fees of the Independent Counsel referred to above and to fully indemnify such Independent Counsel against any and
all expenses, claims, liabilities and damages arising out of or relating to this Section 14 or its engagement pursuant hereto. &nbsp;In making a determination under this Section 14(a), the Independent Counsel referred to above shall determine that
indemnification is permissible unless clearly precluded by this Section 14 or the applicable provisions of the IBCA.</FONT></P> <P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;</P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:108pt;color:#000000'>(b) &nbsp;<FONT style='font-family:Times New Roman'>Payment of Expenses in Advance. &nbsp;Expenses, including attorneys' fees, incurred by a person
referred to in Subsection (a) of this Section 14 in defending a proceeding shall be paid by the Corporation in advance of the final disposition of such proceeding, including any appeal therefrom, upon receipt of an undertaking (the
&quot;Undertaking&quot;) by or on behalf of such person to repay such amount if it shall ultimately be determined that he or she is not entitled to be indemnified by the Corporation. </FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:108pt;color:#000000'><A name=_aci_pg18 />(c) &nbsp;<FONT style='font-family:Times New Roman'>Right of Claimant to Bring Suit. &nbsp;
If a claim under Subsection (a) of this Section 14 is not paid in full by the Corporation within 60 days after a written claim has been received by the Corporation or if expenses pursuant to Subsection (b) of this Section 14 hereof have not been advanced
 within 10 days after a written request for such advancement, accompanied by the Undertaking, has been received by the Corporation, the claimant may at any time thereafter bring suit against the Corporation to recover the unpaid amount of the claim
or the advancement of expenses. &nbsp;(If the claimant is successful, in whole or in part, in such suit or any other suit to enforce a right for expenses or indemnification against the Corporation or any other party under any other agreement, such
claimant shall also be entitled to be paid the reasonable expense of prosecuting such claim.) &nbsp;It shall be a defense to any such action (other than an action brought to enforce a claim for expenses incurred in defending any proceeding in
advance of its final disposition where the required Undertaking has been tendered to the Corporation) that the claimant has not met the standards of conduct which make it permissible under the IBCA for the Corporation to indemnify the claimant for
the amount claimed. &nbsp;After a Change in Control of the Corporation, the burden of proving such defense shall be on the Corporation, and any determination by the Corporation (including its Board of Directors, independent legal counsel or its
shareholders) that the claimant had not met the applicable standard of conduct required under the IBCA shall not be a defense to the action nor create a presumption that claimant had not met such applicable standard of conduct.</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:108pt;color:#000000'>(d) &nbsp;<FONT style='font-family:Times New Roman'>Indemnity Not Exclusive. &nbsp;The indemnification and advancement of expenses provided by, or
granted pursuant to, the other Subsections of this Section 14 shall not be deemed exclusive of any other rights to which those seeking indemnification or advancement of expenses may be entitled under any statute, by-law, agreement, vote of
shareholders or disinterested directors or otherwise, both as to action in his or her official capacity and as to action in another capacity while holding such office. &nbsp;The Board of Directors shall have the authority, by resolution, to provide
for such other indemnification of directors, officers, employees or agents as it shall deem appropriate.</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:108pt;color:#000000'>(e) &nbsp;<FONT
style='font-family:Times New Roman'>Insurance. &nbsp;The Corporation shall have power to purchase and maintain insurance to protect itself and any director, officer, employee or agent of this Corporation or another Corporation, partnership, joint
venture, trust or other enterprise, against any expenses, liabilities or losses, whether or not the Corporation would have the power to indemnify such person against such expenses, liabilities or losses under the provisions of this Section 14 or the
IBCA.</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:108pt;color:#000000'>(f) &nbsp;<FONT style='font-family:Times New Roman'>Continuation of Indemnification; Enforceability. &nbsp;The provisions of this
Section 14 shall be applicable to all proceedings commenced after its adoption, whether </FONT><A name=_aci_pg19 /><FONT style='font-family:Times New Roman'>such proceedings arise out of events, acts, omissions or circumstances which occurred or existed
 prior or subsequent to such adoption, and shall, unless otherwise provided when authorized or ratified, continue as to a person who has ceased to be a director, officer, employee or agent and shall inure to the benefit of the heirs, executors and
administrators of such person. &nbsp;This Section 14 shall be deemed to grant each person who, at any time that this Section 14 is in effect, serves or agrees to serve in any capacity which entitles him to indemnification hereunder rights against
the Corporation to enforce the provisions of this Section 14, and any repeal or other modification of this Section 14 or any repeal or modification of the IBCA or any other applicable law shall not limit any rights of indemnification then existing
or arising out of events, acts, omissions or circumstances occurring or existing prior to such repeal or modification, including, without limitation, the right to indemnification for proceedings commenced after such repeal or modification to enforce
this Section 14 with regard to acts, omissions, events or circumstances occurring or existing prior to such repeal or modification.</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:108pt;color:#000000'>(g)
&nbsp;<FONT style='font-family:Times New Roman'>Severability. &nbsp;If this Section 14 or any portion hereof shall be invalidated on any ground by any court of competent jurisdiction, then the Corporation shall nevertheless indemnify each director
and officer of the Corporation as to costs, charges and expenses (including attorneys' fees), judgments, fines and amounts paid in settlement with respect to any proceeding, whether civil, criminal, administrative or investigative, including an
action by or in the right of the Corporation, to the full extent permitted by any applicable portion of this Section 14 that shall not have been invalidated and to the full extent permitted by applicable law. </FONT></P>
<P align=center style='font:10pt Courier New;margin-top:6pt;margin-bottom:12pt'><BR>ARTICLE IV<FONT style='font-family:Times New Roman'>OFFICERS AND DEFINITION OF DUTIES</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 1. &nbsp;<FONT style='font-family:Times New Roman'>OFFICERS - REMOVAL. &nbsp;The officers of this Corporation shall consist of a Chairman of
the Board, a President, one or more Vice-Presidents, a Secretary and a Treasurer, and such other officers, including one or more Assistant Secretaries and one or more Assistant Treasurers, as the Board of Directors may from time to time determine.
&nbsp;In addition, the Board of Directors may from time to time elect a Vice Chairman and an Executive Vice President if it so determines. &nbsp;Such officers, when elected, shall hold office for the period of one year and thereafter until their
respective successors shall have been duly elected, and shall have qualified; provided, however, that all officers, agents and employees of the Corporation shall be subject to removal at any time by the affirmative vote by a majority of the Board.
&nbsp;Any one person may hold two offices at the same time, except that the same person shall not hold at the same time the office of Chairman of the Board and Secretary, President and Vice President, President and </FONT><A name=_aci_pg20 /><FONT
style='font-family:Times New Roman'>Secretary, Treasurer and Assistant Treasurer, or Secretary and Assistant Secretary. &nbsp;
</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 2. &nbsp;<FONT style='font-family:Times New Roman'>VACANCIES. &nbsp;
If any vacancy shall occur among the officers of the Corporation, by resignation or otherwise, such vacancy may be filled by the Board of Directors.</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION
 3. &nbsp;<FONT style='font-family:Times New Roman'>CHAIRMAN OF THE BOARD. &nbsp;The Chairman of the Board shall supervise and control the officers, policies and programs of the Corporation. &nbsp;The Chairman shall preside at all meetings of the
Board of Directors and shareholders. &nbsp;The Chairman shall initiate acquisition, merger and investment banking activities. The Chairman, from time to time, may delegate powers and duties to the Vice-Chairman, President and other officers. The
Chairman shall possess the power to sign all certificates, contracts and other instruments of the Corporation as authorized by the Board of Directors. In the event of the absence, inability to act or disability of the President, the Chairman shall
exercise all powers and discharge all duties of the President. &nbsp;The Chairman shall possess such other duties and powers as may be prescribed from time to time by the Board of Directors and the by-laws. &nbsp;&nbsp;</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 4. &nbsp;<FONT style='font-family:Times New Roman'>VICE-CHAIRMAN OF THE BOARD. &nbsp;The Vice Chairman of the Board, if elected, and in the
event of the absence, inability to act or disability of the Chairman, shall carry out the responsibilities of the Chairman. &nbsp;The Vice- Chairman when so acting shall exercise the powers and discharge the duties of the Chairman, including
presiding at meetings of shareholders and the Board of Directors. The Vice-Chairman shall possess such other duties and powers as may be prescribed from time to time by the Board of Directors, Chairman and by-laws. In the event of the absence,
inability to act or disability of the Chairman and Vice-Chairman, the Board of Directors shall elect an acting Chairman. &nbsp;&nbsp;</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 5. &nbsp;<FONT style='font-family:Times New Roman'>PRESIDENT. &nbsp;The President shall be the chief operating officer of the Corporation.
&nbsp;The President shall conduct the daily business and affairs of the Corporation as so authorized by the by-laws. &nbsp;The President may delegate powers and duties to the Vice-Presidents or other officers. &nbsp;The President shall have the
power to sign all certificates, contracts, and other instruments of the Corporation as authorized by the Board of Directors. &nbsp;The President shall perform such other duties as may be prescribed from time to time by the Board of Directors,
Chairman and by-laws. &nbsp;In the event of the absence, inability to act or disability of the Chairman, Vice-Chairman and acting Chairman, the President shall preside at meetings of shareholders and the Board of Directors. &nbsp;&nbsp;</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 6. &nbsp;<FONT style='font-family:Times New Roman'>THE EXECUTIVE VICE PRESIDENT. &nbsp;In the absence of, or in the case of the inability of
the Chairman of the Board or the Vice Chairman (in the absence of the Chairman), and the President to act, the Executive Vice President, if one be elected by </FONT><A name=_aci_pg21 /><FONT style='font-family:Times New Roman'>the Board, shall perform
 all duties and have the powers of the President. &nbsp;The Executive Vice President shall, in addition, perform such other duties and have such other powers as the Board of Directors may, from time to time, by resolution determine.</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 7. &nbsp;<FONT style='font-family:Times New Roman'>OTHER VICE PRESIDENTS. &nbsp;Other Vice Presidents, including one or more Senior Vice
Presidents, if such officers shall have been elected, shall perform such duties and have such duties and powers as the Board of Directors may from time to time by resolution determine, or, in the absence of such determination, as the President, with
the consent of the Chairman or Vice Chairman, shall determine. &nbsp;&nbsp;</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 8. &nbsp;<FONT style='font-family:Times New Roman'>THE
TREASURER. &nbsp;The Treasurer shall be the principal accounting and financial officer of the Corporation. &nbsp;He shall: (a) have charge of and be responsible for the maintenance of adequate books of account for the Corporation; (b) have charge
and custody of all funds and securities of the Corporation; and be responsible therefor and for the receipt and disbursement thereof; and (c) perform all the duties incident to the office of treasurer and such other duties as from time to time may
be assigned to him by the President or by the Board of Directors. &nbsp;If required by the Board of Directors, the Treasurer shall give a bond for the faithful discharge of his duties in such sum and with such surety or sureties as the Board of
Directors may determine. &nbsp;&nbsp;</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 9. &nbsp;<FONT style='font-family:Times New Roman'>THE SECRETARY. &nbsp;The Secretary shall:
(a) record the minutes of the shareholders' and of the Board of Directors' meetings in one or more books provided for that purpose; (b) see that all notices are duly given in accordance with the provisions of these by-laws or as required by law; (c)
be custodian of the corporate records and of the seal of the Corporation; (d) keep a register of the post-office address of each shareholder which shall be furnished to the secretary by such shareholder; (e) sign with the President, or a Vice
President, or any other officer thereunto authorized by the Board of Directors, certificates for shares of the Corporation, the issue of which shall have been authorized by the Board of Directors, and any contracts, deeds, mortgages, bonds, or other
instruments which the Board of Directors has authorized to be executed, according to the requirement of the form of the instrument, except when a different mode of execution is expressly prescribed by the Board of Directors or these by-laws; (f)
have general charge of the stock transfer books of the Corporation and (g) perform all duties incident to the office of secretary and such other duties as from time to time may be assigned to him by the President or by the Board of Directors.
&nbsp;&nbsp;</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 10. &nbsp;<FONT style='font-family:Times New Roman'>ASSISTANT TREASURERS AND ASSISTANT SECRETARIES. &nbsp;The Assistant
Treasurers and Assistant Secretaries shall perform such duties as shall be assigned to them by the Treasurer or the Secretary, respectively, or by the President or the Board of Directors. &nbsp;
The Assistant Secretaries may sign with the </FONT><A name=_aci_pg22 /><FONT style='font-family:Times New Roman'>President, or a Vice President, or any other officer thereunto authorized by the Board of Directors, certificates for shares of the Corporation,
 the issue of which shall have been authorized by the Board of Directors, and any contracts, deeds, mortgages, bonds or other instruments which the Board of Directors has authorized to be executed, according to the requirements of the form of the
instrument, except when a different mode of execution is expressly prescribed by the Board of Directors or these by-laws. &nbsp;The assistant treasurers shall respectively, if required by the Board of Directors, give bonds for the faithful discharge
of their duties in such sums and with sureties as the Board of Directors shall determine.</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 11. &nbsp;<FONT
style='font-family:Times New Roman'>SALARIES. &nbsp;The salaries of the officers shall be fixed from time to time by the Board of Directors and no officer shall be prevented from receiving such salary by reason of the fact that he is also a director
of the Corporation.</FONT></P> <P align=center style='font:10pt Courier New;margin-top:6pt;margin-bottom:12pt'><BR>ARTICLE V<FONT style='font-family:Times New Roman'>SHARES OF CAPITAL STOCK AND THEIR TRANSFER</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 1. &nbsp;<FONT style='font-family:Times New Roman'>STOCK ISSUE. &nbsp;Whenever stock, not previously reported to the Secretary of State as
issued, has been issued within the authorized limit fixed by the statement of incorporation of a certificate of increase in capital stock, a statement subscribed and sworn to by the President or any Vice President, and attested by the Secretary or
by an Assistant Secretary shall be filed in the office of the Secretary of State within ninety days after the issuance of such additional stock pursuant to authorization thereof by the Board of Directors in the form prescribed by the General
Corporation Act of the State of Illinois. &nbsp;&nbsp;Promissory notes shall not be accepted for payment or part payment of stock issued by this Corporation. &nbsp;&nbsp;</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 2. &nbsp;<FONT style='font-family:Times New Roman'>CERTIFICATES. &nbsp;Each shareholder shall be entitled to a certificate of stock, executed
by the President or Vice President and the Secretary or Assistant Secretary, and under the corporate seal, certifying the number of shares owned by him in such Corporation. &nbsp;When such certificate is countersigned by a transfer agent other than
the Corporation itself, or an employee of the Corporation, or by a transfer clerk and registered by a registrar, the signatures of the President or Vice President and the Secretary or Assistant Secretary upon such certificates may be facsimiles,
engraved or printed.</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 3. &nbsp;<FONT style='font-family:Times New Roman'>TRANSFERS. &nbsp;Transfers of shares of capital stock shall
be made only upon the books of the Corporation by the holder in person or by power of attorney, duly executed, and filed with the Secretary, and on surrender of any certificate or certificates for such shares (or in the case of uncertificated
</FONT><A name=_aci_pg23 /><FONT style='font-family:Times New Roman'>shares, upon submission of proper instructions for transfer and other required documentation).</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION
 4. &nbsp;<FONT style='font-family:Times New Roman'>ADDRESSES. &nbsp;Every shareholder shall furnish the Secretary with his address, at which notice of meetings and all other notices may be served upon, or mailed to him. &nbsp;In default thereof,
notices may be addressed to him at the principal office of the Corporation. &nbsp;</FONT></P> <P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 5.
&nbsp;<FONT style='font-family:Times New Roman'>LOST CERTIFICATES. &nbsp;The Chairman or President, as officers of the Company, acting singly, may direct new certificates of stock to be issued in the place of certificates theretofore issued, alleged
to have been lost or destroyed, and may, in their discretion, require the owner of such certificate or &nbsp;certificates, or his legal representative, to give the Corporation a bond in such sum as they may direct, as indemnity against any claim
that may be made against the Corporation. &nbsp;Said officers may issue instructions to the Transfer Agents and Registrars of the capital stock of the Company, may enter into such agreements and may sign such documents as may be necessary to
effectuate the issuance of said certificates. Said officers, however, may refuse to issue or direct the issuance of any new certificates except upon institution of legal proceedings as required by statute, in such case made and provided. </FONT></P>
<P align=center style='font:10pt Courier New;margin-top:6pt;margin-bottom:12pt'><BR>ARTICLE VI<FONT style='font-family:Times New Roman'>DIVIDENDS</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 1. &nbsp;<FONT style='font-family:Times New Roman'>DECLARATION. &nbsp;Dividends may be declared by the Board of Directors from time to time out
of the surplus or net profits of the Corporation, and shall be payable at such times as the Board of Directors may determine. &nbsp;&nbsp;</FONT></P>
<P style='font:10pt Courier New;margin-top:0pt;margin-bottom:12pt;text-indent:72pt;color:#000000'>SECTION 2. &nbsp;<FONT style='font-family:Times New Roman'>RESERVES. &nbsp;Before payment of any dividend or making any distribution of profits, there
may be set aside out of the surplus or net profits of the Corporation such sum or sums as the Directors from time to time, in their absolute discretion, think proper as a reserve fund to meet contingencies, or for equalizing dividends, or for
repairing or maintaining any property of the Corporation, or for such other purposes as the Directors shall think conducive to the interests of the Corporation.</FONT></P>
<P align=center style='font:10pt Courier New;margin-top:6pt;margin-bottom:12pt'><BR>ARTICLE VII<FONT style='font-family:Times New Roman'>SEAL</FONT></P>
<P style='font:10pt Courier New;margin:0;color:#000000'><FONT style='font-family:Times New Roman'>The corporate seal is and until otherwise ordered by the Board of Directors, shall be, an impression bearing the corporate name and the words
&quot;corporate seal&quot; and &quot;Illinois.&quot; &nbsp;</FONT></P> <P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;</P> <P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;</P>
<P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;</P> <P style='font:10pt Courier New;margin:0;color:#000000'><A name=_aci_pg24 />&nbsp;</P> <P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;
</P> <P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;
</P> <P align=center style='font:10pt Courier New;margin-top:6pt;margin-bottom:12pt'><BR>ARTICLE VIII<FONT style='font-family:Times New Roman'>FISCAL YEAR</FONT></P> <P style='font:10pt Courier New;margin:0;color:#000000'><FONT
style='font-family:Times New Roman'>The fiscal year of the Corporation shall begin on the first day of January and end on the 31st day of December of each year. </FONT></P> <P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;
</P> <P align=center style='font:10pt Courier New;margin-top:6pt;margin-bottom:12pt'><BR>ARTICLE IX<FONT style='font-family:Times New Roman'>INSPECTION OF BOOKS</FONT></P> <P style='font:10pt Courier New;margin:0;color:#000000'><FONT
style='font-family:Times New Roman'>The books kept for transferring stock and the names and addresses of the shareholders, during the usual business hours shall be open to examination for all proper purposes by every shareholder, at its principal office
 or place of business in the State of Illinois. Each shareholder of the Corporation shall have the right, at all reasonable times, by himself or by his attorney, to examine the records and books of account. &nbsp;</FONT></P>
<P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;</P> <P align=center style='font:10pt Courier New;margin-top:6pt;margin-bottom:12pt'><BR>ARTICLE X<FONT style='font-family:Times New Roman'>WAIVER OF NOTICE</FONT></P>
<P style='font:10pt Courier New;margin:0;color:#000000'><FONT style='font-family:Times New Roman'>Whenever any action is to be taken after notice either to the shareholders or directors, or after the lapse of a prescribed period of time, such action
may be taken without notice and without the lapse of such prescribed period of time, if such action be taken while all persons interested are present, and consenting thereto or be authorized or approved or such requirement be waived in writing by
each person interested and entitled to notice, or by his attorney thereto authorized. </FONT></P> <P style='font:10pt Courier New;margin:0;color:#000000'>&nbsp;</P>
<P align=center style='font:10pt Courier New;margin-top:6pt;margin-bottom:12pt'><BR>ARTICLE XI<FONT style='font-family:Times New Roman'>AMENDMENTS</FONT></P> <P style='font:12pt Courier New;margin:0;color:#000000'><FONT
style='font:10pt Times New Roman'>These by-laws may be altered, amended or repealed by the affirmative vote of a majority of the Board of Directors at any regular or special meeting of the Board.</FONT></P>
<P style='font:10pt Courier New;margin:0'>&nbsp;</P> <P style='font:10pt Times New Roman;margin:0'>&nbsp;</P> </DIV> </BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-21
<SEQUENCE>3
<FILENAME>d288627dex21.htm
<DESCRIPTION>EX-21
<TEXT>
<HTML><HEAD>
<TITLE>EX-21</TITLE>
</HEAD>
  <BODY> <DIV><P align=center style='font:10pt Arial;margin:0'><FONT
style='border-bottom:1px solid #000000'><B>Exhibit 21</B></FONT></P> <P align=center style='font:10pt Arial;margin:0'>&nbsp;</P> <P align=center style='font:10pt Arial;margin:0'><FONT style='border-bottom:1px solid #000000'><B>CHICAGO RIVET &amp;
MACHINE CO.</B></FONT></P> <P align=center style='font:10pt Arial;margin:0'>&nbsp;</P> <P align=center style='font:10pt Arial;margin:0'><FONT style='border-bottom:1px solid #000000'><B>SUBSIDIARIES OF THE REGISTRANT</B></FONT></P>
<P align=center style='font:10pt Arial;margin:0'>&nbsp;</P> <P align=center style='font:12pt Arial;margin:0'>&nbsp;</P> <P align=center style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0'><KBD style=margin-left:36pt></KBD>The Company&#8217;s only subsidiary is H &amp; L Tool Company, Inc., which is wholly-owned and is organized in the State of Illinois.&nbsp;</P> </DIV> </BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>4
<FILENAME>d288627dex311.htm
<DESCRIPTION>EX-31.1
<TEXT>
<HTML><HEAD>
<TITLE>EX-31.1</TITLE>
</HEAD>
  <BODY> <DIV><P align=center style='font:10pt Arial;margin:0'><B>Exhibit
31.1</B></P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'><KBD style=margin-left:36pt></KBD>I, Walter W. Morrissey, certify that:&nbsp;</P>
<P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:36pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>1.</KBD>I have reviewed this annual report on Form 10-K of Chicago Rivet &amp;
Machine Co.;&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:36pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>2.</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 Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:36pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>3.</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 Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:36pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>4.</KBD>The registrant&#8217;s other certifying officer(s) 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 Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>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 Arial;margin:0;text-indent:-36pt;margin-left:72pt'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>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 Arial;margin:0;text-indent:-36pt;margin-left:72pt'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>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 Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>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 Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:36pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>5.</KBD>The registrant&#8217;s other certifying officer(s) 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 the registrant&#8217;s board of directors (or persons performing the equivalent functions):&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>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 Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>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 Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0'><KBD style='position:absolute;font:10pt Arial;margin-left:0pt'>Date: March 21, 2022</KBD><KBD style='position:absolute;font:10pt Arial;margin-left:108pt'> </KBD><KBD style=margin-left:144pt></KBD><FONT
style='border-bottom:1px solid #000000'>/s/ Walter W. Morrissey</FONT>&nbsp;</P> <P style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:108pt'>Walter W. Morrissey</P> <P style='font:10pt Arial;margin:0;margin-left:144pt'>Chief Executive
Officer</P> <P style='font:10pt Arial;margin:0;margin-left:144pt'> &nbsp;(Principal Executive Officer)</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> </DIV> </BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>5
<FILENAME>d288627dex312.htm
<DESCRIPTION>EX-31.2
<TEXT>
<HTML><HEAD>
<TITLE>EX-31.2</TITLE>
</HEAD>
  <BODY> <DIV><P align=center style='font:10pt Arial;margin:0'><B>Exhibit
31.2</B></P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'><KBD style=margin-left:36pt></KBD>I, Michael J. Bourg, certify that:&nbsp;</P>
<P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:36pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>1.</KBD>I have reviewed this annual report on Form 10-K of Chicago Rivet &amp;
Machine Co.;&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:36pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>2.</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 Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:36pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>3.</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 Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:36pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>4.</KBD>The registrant&#8217;s other certifying officer(s) 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 Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>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 Arial;margin:0;text-indent:-36pt;margin-left:72pt'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>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 Arial;margin:0;text-indent:-36pt;margin-left:72pt'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>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 Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>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 Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:36pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>5.</KBD>The registrant&#8217;s other certifying officer(s) 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 the registrant&#8217;s board of directors (or persons performing the equivalent functions):&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>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 Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>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 Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0'><KBD style='position:absolute;font:10pt Arial;margin-left:0pt'>Date: &nbsp;March 21, 2022 </KBD><KBD style=margin-left:144pt></KBD><FONT style='border-bottom:1px solid #000000'>/s/ Michael J. Bourg</FONT>
&nbsp;&nbsp;&nbsp;&nbsp;</P> <P style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:108pt'>Michael J. Bourg</P> <P style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:108pt'>President, Chief Operating Officer</P>
<P style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:108pt'> &nbsp;and Treasurer (Principal Financial Officer)</P> <P style='font:10pt Arial;margin:0;margin-left:144pt'>&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> </DIV>
</BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>6
<FILENAME>d288627dex321.htm
<DESCRIPTION>EX-32.1
<TEXT>
<HTML><HEAD>
<TITLE>EX-32.1</TITLE>
</HEAD>
  <BODY> <DIV><P align=center style='font:10pt Arial;margin:0'><B>Exhibit
32.1</B></P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P align=center style='font:10pt Arial;margin:0'><B>Certification Pursuant to</B></P> <P align=center style='font:10pt Arial;margin:0'><B>18 U.S.C. Section 1350,</B></P>
<P align=center style='font:10pt Arial;margin:0'><B>as Adopted Pursuant to</B></P> <P align=center style='font:10pt Arial;margin:0'><B>Section 906 of the Sarbanes-Oxley Act of 2002</B></P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0'>In connection with the Annual Report on Form 10-K of Chicago Rivet &amp; Machine Co. (the &quot;Company&quot;) for the period ended December 31, 2021 as filed with the Securities and Exchange Commission on the
date hereof (the &quot;Report&quot;), I, Walter W. Morrissey, as Chief Executive Officer of the Company, hereby certify, pursuant to 18 U.S.C. &#167;&nbsp;1350, as adopted pursuant to &#167;&nbsp;906 of the Sarbanes-Oxley Act of 2002, that, to the
best of my knowledge:</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:36pt'>(1)</KBD><KBD style=margin-left:72pt></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 Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:36pt'>(2)</KBD><KBD style=margin-left:72pt></KBD>The information contained in the Report fairly presents, in all material respects, the financial
condition and results of operations of the Company.&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'><FONT style='border-bottom:1px solid #000000'>/s/ Walter
W. Morrissey</FONT></P> <P style='font:10pt Arial;margin:0'>Name: Walter W. Morrissey</P> <P style='font:10pt Arial;margin:0'>Title: &nbsp;&nbsp;Chief Executive Officer</P>
<P style='font:10pt Arial;margin:0'><KBD style=margin-left:36pt></KBD>(Principal Executive Officer)&nbsp;</P> <P style='font:10pt Arial;margin:0'>Date: &nbsp;&nbsp;March 21, 2022</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> </DIV> </BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>7
<FILENAME>d288627dex322.htm
<DESCRIPTION>EX-32.2
<TEXT>
<HTML><HEAD>
<TITLE>EX-32.2</TITLE>
</HEAD>
  <BODY> <DIV><P align=center style='font:10pt Arial;margin:0'><B>Exhibit
32.2</B></P> <P align=center style='font:10pt Arial;margin:0'>&nbsp;</P> <P align=center style='font:10pt Arial;margin:0'>&nbsp;</P> <P align=center style='font:10pt Arial;margin:0'><B>Certification Pursuant to</B></P>
<P align=center style='font:10pt Arial;margin:0'><B>18 U.S.C. Section 1350,</B></P> <P align=center style='font:10pt Arial;margin:0'><B>as Adopted Pursuant to</B></P> <P align=center style='font:10pt Arial;margin:0'><B>Section 906 of the
Sarbanes-Oxley Act of 2002</B></P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'>In connection with the Annual Report on Form 10-K of Chicago Rivet &amp; Machine Co. (the &quot;Company&quot;) for the period ended
December 31, 2021 as filed with the Securities and Exchange Commission on the date hereof (the &quot;Report&quot;), I, Michael J. Bourg, as President, Chief Operating Officer and Treasurer of the Company, hereby certify, pursuant to 18 U.S.C.
&#167;&nbsp;1350, as adopted pursuant to &#167;&nbsp;906 of the Sarbanes-Oxley Act of 2002, that, to the best of my knowledge:</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:36pt'>(1)</KBD><KBD style=margin-left:72pt></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 Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:36pt'>(2)</KBD><KBD style=margin-left:72pt></KBD>The
information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0'><FONT style='border-bottom:1px solid #000000'>/s/ Michael J. Bourg</FONT></P> <P style='font:10pt Arial;margin:0'>Name: Michael J. Bourg</P> <P style='font:10pt Arial;margin:0'>Title: &nbsp;&nbsp;President, Chief
Operating Officer</P> <P style='font:10pt Arial;margin:0'><KBD style=margin-left:36pt></KBD>and Treasurer (Principal Financial Officer)&nbsp;</P> <P style='font:10pt Arial;margin:0'>Date: &nbsp;&nbsp;March 21, 2022</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P> </DIV> </BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>8
<FILENAME>cvr-20211231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2022 [PPXC1A0KDJ2KVG89DFHW]. www.edgarsuite.com -->
<schema xmlns='http://www.w3.org/2001/XMLSchema' xmlns:us-gaap='http://fasb.org/us-gaap/2021-01-31' xmlns:srt='http://fasb.org/srt/2021-01-31' xmlns:fil='http://www.chicagorivet.com/20211231' xmlns:dei='http://xbrl.sec.gov/dei/2021q4' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xbrldt='http://xbrl.org/2005/xbrldt' targetNamespace='http://www.chicagorivet.com/20211231' xmlns:dtr-types='http://www.xbrl.org/dtr/type/2020-01-21' xmlns:link='http://www.xbrl.org/2003/linkbase' xmlns:xbrli='http://www.xbrl.org/2003/instance' elementFormDefault='qualified' attributeFormDefault='unqualified'>
	<annotation>
		<appinfo>
			<link:linkbaseRef xlink:type="simple" xlink:href="cvr-20211231_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="cvr-20211231_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="cvr-20211231_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="cvr-20211231_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.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables" id="idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables">
				<link:definition>000240 - Disclosure - 3 - 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.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails" id="idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails">
				<link:definition>000360 - Disclosure - 3 - Income Taxes: Provision for Income Tax Expense (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.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" id="idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails">
				<link:definition>000380 - Disclosure - 3 - 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.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxes" id="idr_Disclosure3IncomeTaxes">
				<link:definition>000100 - Disclosure - 3 - 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.chicagorivet.com/20211231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails" id="idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails">
				<link:definition>000300 - Disclosure - Uncertain Tax Positions and Unrecognized Tax Benefits (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.chicagorivet.com/20211231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails" id="idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails">
				<link:definition>000290 - Disclosure - Estimated Useful Lives by Asset 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.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets" id="idr_StatementConsolidatedBalanceSheets">
				<link:definition>000020 - Statement - 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.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncome" id="idr_Disclosure5OtherIncome">
				<link:definition>000120 - Disclosure - 5 - Other 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.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails" id="idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails">
				<link:definition>000340 - Disclosure - 2 - Balance Sheet Details: Other Accrued Expenses (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.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails" id="idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails">
				<link:definition>000370 - Disclosure - 3 - 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.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformation" id="idr_Disclosure6SegmentInformation">
				<link:definition>000130 - Disclosure - 6 - 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.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails" id="idr_Disclosure2BalanceSheetDetailsInventoryDetails">
				<link:definition>000320 - Disclosure - 2 - Balance Sheet Details: Inventory (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.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables" id="idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables">
				<link:definition>000230 - Disclosure - 3 - 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.chicagorivet.com/20211231/role/idr_Disclosure9SubsequentEvents" id="idr_Disclosure9SubsequentEvents">
				<link:definition>000160 - Disclosure - 9 - 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.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables" id="idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables">
				<link:definition>000270 - Disclosure - 6 - Segment Information: Disaggregation of Revenue (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.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables" id="idr_Disclosure2BalanceSheetDetailsInventoryTables">
				<link:definition>000180 - Disclosure - 2 - Balance Sheet Details: Inventory (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.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails" id="idr_Disclosure5OtherIncomeOtherIncomeDetails">
				<link:definition>000410 - Disclosure - 5 - Other Income: Other Income (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.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical" id="idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical">
				<link:definition>000060 - Statement - Consolidated Statements of Shareholders&apos; Equity - 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.chicagorivet.com/20211231/role/idr_Disclosure4ProfitSharingPlan" id="idr_Disclosure4ProfitSharingPlan">
				<link:definition>000110 - Disclosure - 4 - Profit Sharing Plan</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.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetails" id="idr_Disclosure2BalanceSheetDetails">
				<link:definition>000090 - Disclosure - 2 - Balance Sheet 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.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity" id="idr_StatementConsolidatedStatementsOfShareholdersEquity">
				<link:definition>000050 - Statement - Consolidated Statements of Shareholders&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.chicagorivet.com/20211231/role/idr_DisclosureSignificantAccountingPoliciesPolicies" id="idr_DisclosureSignificantAccountingPoliciesPolicies">
				<link:definition>000170 - Disclosure - Significant Accounting Policies (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.chicagorivet.com/20211231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies" id="idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies">
				<link:definition>000080 - Disclosure - 1 - Nature of Business and 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.chicagorivet.com/20211231/role/idr_DisclosureDeferredRevenueRecognizedDetails" id="idr_DisclosureDeferredRevenueRecognizedDetails">
				<link:definition>000280 - Disclosure - Deferred Revenue Recognized (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.chicagorivet.com/20211231/role/idr_DisclosureCommitmentsAndContingenciesDetails" id="idr_DisclosureCommitmentsAndContingenciesDetails">
				<link:definition>000450 - Disclosure - 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.chicagorivet.com/20211231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails" id="idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails">
				<link:definition>000440 - Disclosure - Summary of % of Revenues and A/R from Major Customers (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.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables" id="idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables">
				<link:definition>000200 - Disclosure - 2 - Balance Sheet Details: Other Accrued Expenses (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.chicagorivet.com/20211231/role/idr_DisclosureProfitSharingPlanDetails" id="idr_DisclosureProfitSharingPlanDetails">
				<link:definition>000400 - Disclosure - Profit Sharing Plan (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.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables" id="idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables">
				<link:definition>000210 - Disclosure - 2 - Balance Sheet Details: Schedule of Valuation and Qualifying 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.chicagorivet.com/20211231/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.chicagorivet.com/20211231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails" id="idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails">
				<link:definition>000350 - Disclosure - Schedule of Valuation and Qualifying 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.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables" id="idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables">
				<link:definition>000260 - Disclosure - 6 - Segment Information: Schedule of Segment Reporting 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.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows" id="idr_StatementConsolidatedStatementsOfCashFlows">
				<link:definition>000070 - Statement - Consolidated Statements of Cash Flows</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.chicagorivet.com/20211231/role/idr_Disclosure7CommitmentsAndContingencies" id="idr_Disclosure7CommitmentsAndContingencies">
				<link:definition>000140 - Disclosure - 7 - 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.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables" id="idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables">
				<link:definition>000190 - Disclosure - 2 - Balance Sheet Details: 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>
			<link:roleType roleURI="http://www.chicagorivet.com/20211231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails" id="idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails">
				<link:definition>000310 - Disclosure - Weighted Avg. Number of Shares Outstanding (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.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheetsParenthetical" id="idr_StatementConsolidatedBalanceSheetsParenthetical">
				<link:definition>000030 - Statement - 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.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails" id="idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails">
				<link:definition>000330 - Disclosure - 2 - Balance Sheet Details: 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.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails" id="idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails">
				<link:definition>000420 - Disclosure - 6 - Segment Information: Schedule of Segment Reporting 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.chicagorivet.com/20211231/role/idr_DisclosureOtherIncomeTaxDisclosuresDetails" id="idr_DisclosureOtherIncomeTaxDisclosuresDetails">
				<link:definition>000390 - Disclosure - Other Income Tax Disclosures (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.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails" id="idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails">
				<link:definition>000430 - Disclosure - 6 - Segment Information: Disaggregation of Revenue (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.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables" id="idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables">
				<link:definition>000220 - Disclosure - 3 - Income Taxes: Provision for Income Tax Expense (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.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome" id="idr_StatementConsolidatedStatementsOfIncome">
				<link:definition>000040 - Statement - Consolidated Statements of 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.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncomeOtherIncomeTables" id="idr_Disclosure5OtherIncomeOtherIncomeTables">
				<link:definition>000250 - Disclosure - 5 - Other Income: Other Income (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.chicagorivet.com/20211231/role/idr_DisclosureSubsequentEventsDetails" id="idr_DisclosureSubsequentEventsDetails">
				<link:definition>000460 - Disclosure - Subsequent Events (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.chicagorivet.com/20211231/role/idr_Disclosure8Covid19" id="idr_Disclosure8Covid19">
				<link:definition>000150 - Disclosure - 8 - COVID-19</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='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<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='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<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='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<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='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2005/xbrldt-2005.xsd' namespace='http://xbrl.org/2005/xbrldt'/>
	<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='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='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<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='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import namespace='http://fasb.org/us-gaap/2021-01-31' schemaLocation='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd' />
	<import namespace='http://xbrl.sec.gov/dei/2021q4' schemaLocation='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd' />
	<import namespace='http://www.xbrl.org/dtr/type/2020-01-21' schemaLocation='https://www.xbrl.org/dtr/type/2020-01-21/types.xsd' />
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_EndMarketMember' name='EndMarketMember' />
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_LocationMember' name='LocationMember' />
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_FastenerMember' name='FastenerMember' />
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_AssemblyEquipmentMember' name='AssemblyEquipmentMember' />
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_UnallocatedCorporateMember' name='UnallocatedCorporateMember' />
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_AutomotiveMember' name='AutomotiveMember' />
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_NonautomotiveMember' name='NonautomotiveMember' />
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_UnitedStatesMember' name='UnitedStatesMember' />
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_ForeignMember' name='ForeignMember' />
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_TIGroupAutomotiveSystemsMember' name='TIGroupAutomotiveSystemsMember' />
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_CooperStandardHoldingsIncMember' name='CooperStandardHoldingsIncMember' />
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_ParkerHannifinCorporationMember' name='ParkerHannifinCorporationMember' />
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='credit' id='fil_SegmentOperatingProfit' name='SegmentOperatingProfit' />
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='debit' id='fil_SellingAndAdministrativeExpensesUnallocatedCorporate' name='SellingAndAdministrativeExpensesUnallocatedCorporate' />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>9
<FILENAME>cvr-20211231_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2022 [PPXC1A0KDJ2KVG89DFHW]. 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.chicagorivet.com/20211231"
		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.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_StatementConsolidatedBalanceSheets"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrent' xlink:label='us-gaap_AssetsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CertificatesOfDepositAtCarryingValue' xlink:label='us-gaap_CertificatesOfDepositAtCarryingValue'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_CertificatesOfDepositAtCarryingValue' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidTaxes' xlink:label='us-gaap_PrepaidTaxes'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_PrepaidTaxes' use='optional' order='5.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='6.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrent' xlink:label='us-gaap_LiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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_LiabilitiesCurrent' 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/2021/elts/us-gaap-2021-01-31.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='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CustomerAdvancesAndDepositsCurrent' xlink:label='us-gaap_CustomerAdvancesAndDepositsCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesCurrent' xlink:to='us-gaap_CustomerAdvancesAndDepositsCurrent' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesNoncurrent' xlink:label='us-gaap_DeferredTaxLiabilitiesNoncurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Liabilities' xlink:to='us-gaap_DeferredTaxLiabilitiesNoncurrent' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockValue' xlink:label='us-gaap_PreferredStockValue'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_PreferredStockValue' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockValueOutstanding' xlink:label='us-gaap_CommonStockValueOutstanding'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_CommonStockValueOutstanding' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockValue' xlink:label='us-gaap_TreasuryStockValue'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_TreasuryStockValue' use='optional' order='5.0' weight='-1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_StatementConsolidatedStatementsOfIncome"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Revenues' xlink:label='us-gaap_Revenues'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_GrossProfit' xlink:to='us-gaap_Revenues' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfRevenue' xlink:label='us-gaap_CostOfRevenue'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_GrossProfit' xlink:to='us-gaap_CostOfRevenue' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense' xlink:label='us-gaap_SellingGeneralAndAdministrativeExpense'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_OperatingIncomeLoss' xlink:to='us-gaap_SellingGeneralAndAdministrativeExpense' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' 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/2021/elts/us-gaap-2021-01-31.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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:to='us-gaap_OtherNonoperatingIncomeExpense' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetIncomeLoss' 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/2021/elts/us-gaap-2021-01-31.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_NetIncomeLoss' xlink:to='us-gaap_IncomeTaxExpenseBenefit' use='optional' order='2.0' weight='-1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_StatementConsolidatedStatementsOfCashFlows"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_NetIncomeLoss' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnDispositionOfAssets' xlink:label='us-gaap_GainLossOnDispositionOfAssets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_GainLossOnDispositionOfAssets' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='5.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='6.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets' xlink:label='us-gaap_IncreaseDecreaseInOtherOperatingAssets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInOtherOperatingAssets' use='optional' order='7.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='8.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' use='optional' order='9.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInOtherAccruedLiabilities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' use='optional' order='10.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' xlink:label='us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' use='optional' order='11.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease' xlink:label='us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease' 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/2021/elts/us-gaap-2021-01-31.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_CashAndCashEquivalentsPeriodIncreaseDecrease' 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/2021/elts/us-gaap-2021-01-31.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_CashAndCashEquivalentsPeriodIncreaseDecrease' 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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireProductiveAssets' xlink:label='us-gaap_PaymentsToAcquireProductiveAssets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='us-gaap_PaymentsToAcquireProductiveAssets' use='optional' order='1.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' xlink:label='us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities' xlink:label='us-gaap_PaymentsToAcquireHeldToMaturitySecurities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='us-gaap_PaymentsToAcquireHeldToMaturitySecurities' use='optional' order='4.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfDividendsCommonStock' xlink:label='us-gaap_PaymentsOfDividendsCommonStock'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:to='us-gaap_PaymentsOfDividendsCommonStock' use='optional' order='1.0' weight='-1.0'/>
	</link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>10
<FILENAME>cvr-20211231_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2022 [PPXC1A0KDJ2KVG89DFHW]. 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.chicagorivet.com/20211231"
		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.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DocumentDocumentAndEntityInformation"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_StatementConsolidatedBalanceSheets"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_StatementConsolidatedBalanceSheetsParenthetical"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheetsParenthetical"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_StatementConsolidatedStatementsOfIncome"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_StatementConsolidatedStatementsOfShareholdersEquity"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockMember' xlink:label='us-gaap_PreferredStockMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_PreferredStockMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockMember' xlink:label='us-gaap_TreasuryStockMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_TreasuryStockMember' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockholdersEquity' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesOutstanding' xlink:label='us-gaap_CommonStockSharesOutstanding'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_CommonStockSharesOutstanding' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockShares' xlink:label='us-gaap_TreasuryStockShares'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_TreasuryStockShares' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_NetIncomeLoss' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Dividends' xlink:label='us-gaap_Dividends'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_Dividends' use='optional' order='5.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_StatementConsolidatedStatementsOfCashFlows"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract' xlink:label='us-gaap_StatementOfCashFlowsAbstract'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementOfCashFlowsAbstract' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' 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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_NetIncomeLoss' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Depreciation' xlink:label='us-gaap_Depreciation'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' 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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnDispositionOfAssets' xlink:label='us-gaap_GainLossOnDispositionOfAssets'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_GainLossOnDispositionOfAssets' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:label='us-gaap_DeferredIncomeTaxExpenseBenefit'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_DeferredIncomeTaxExpenseBenefit' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:label='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:label='us-gaap_IncreaseDecreaseInAccountsReceivable'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInAccountsReceivable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInInventories' xlink:label='us-gaap_IncreaseDecreaseInInventories'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInInventories' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets' xlink:label='us-gaap_IncreaseDecreaseInOtherOperatingAssets'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInOtherOperatingAssets' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable' xlink:label='us-gaap_IncreaseDecreaseInAccountsPayable'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInAccountsPayable' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInOtherAccruedLiabilities'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' xlink:label='us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInOperatingActivities' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireProductiveAssets' xlink:label='us-gaap_PaymentsToAcquireProductiveAssets'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_PaymentsToAcquireProductiveAssets' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment' xlink:label='us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' xlink:label='us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities' xlink:label='us-gaap_PaymentsToAcquireHeldToMaturitySecurities'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_PaymentsToAcquireHeldToMaturitySecurities' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInInvestingActivities' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfDividendsCommonStock' xlink:label='us-gaap_PaymentsOfDividendsCommonStock'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:to='us-gaap_PaymentsOfDividendsCommonStock' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInFinancingActivities' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease' xlink:label='us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_CashAndCashEquivalentsAtCarryingValue' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxesPaidNetAbstract' xlink:label='us-gaap_IncomeTaxesPaidNetAbstract'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_IncomeTaxesPaidNetAbstract' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxesPaid' xlink:label='us-gaap_IncomeTaxesPaid'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_IncomeTaxesPaid' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIncomeTaxRefunds' xlink:label='us-gaap_ProceedsFromIncomeTaxRefunds'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ProceedsFromIncomeTaxRefunds' use='optional' order='7.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure2BalanceSheetDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxes" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure3IncomeTaxes"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxes"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure4ProfitSharingPlan" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure4ProfitSharingPlan"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure4ProfitSharingPlan"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncome" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure5OtherIncome"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncome"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformation" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure6SegmentInformation"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformation"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure7CommitmentsAndContingencies" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure7CommitmentsAndContingencies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure7CommitmentsAndContingencies"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure8Covid19" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure8Covid19"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure8Covid19"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure9SubsequentEvents" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure9SubsequentEvents"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure9SubsequentEvents"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_DisclosureSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DisclosureSignificantAccountingPoliciesPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure2BalanceSheetDetailsInventoryTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncomeOtherIncomeTables" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure5OtherIncomeOtherIncomeTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncomeOtherIncomeTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.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='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.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/2021/elts/srt-2021-01-31.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='cvr-20211231.xsd#fil_EndMarketMember' xlink:label='fil_EndMarketMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_EndMarketMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.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='2.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.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/2021/elts/srt-2021-01-31.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='cvr-20211231.xsd#fil_LocationMember' xlink:label='fil_LocationMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_SegmentGeographicalDomain' xlink:to='fil_LocationMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock' xlink:label='us-gaap_DisaggregationOfRevenueTableTextBlock'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_DisaggregationOfRevenueTableTextBlock' use='optional' order='1.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_DisclosureDeferredRevenueRecognizedDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DisclosureDeferredRevenueRecognizedDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DisclosureDeferredRevenueRecognizedDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LandImprovementsMember' xlink:label='us-gaap_LandImprovementsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:to='us-gaap_LandImprovementsMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BuildingImprovementsMember' xlink:label='us-gaap_BuildingImprovementsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:to='us-gaap_BuildingImprovementsMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MachineryAndEquipmentMember' xlink:label='us-gaap_MachineryAndEquipmentMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:to='us-gaap_MachineryAndEquipmentMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember' xlink:label='us-gaap_SoftwareAndSoftwareDevelopmentCostsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:to='us-gaap_SoftwareAndSoftwareDevelopmentCostsMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember' xlink:label='us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:to='us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.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/2021/elts/srt-2021-01-31.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/2021/elts/srt-2021-01-31.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/2021/elts/srt-2021-01-31.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/2021/elts/srt-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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.chicagorivet.com/20211231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure2BalanceSheetDetailsInventoryDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:label='us-gaap_ValuationAllowancesAndReservesTypeAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_ValuationAllowancesAndReservesTypeAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain' xlink:label='us-gaap_ValuationAllowancesAndReservesDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:to='us-gaap_ValuationAllowancesAndReservesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain' xlink:label='us-gaap_ValuationAllowancesAndReservesDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:to='us-gaap_ValuationAllowancesAndReservesDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForCreditLossMember' xlink:label='us-gaap_AllowanceForCreditLossMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_ValuationAllowancesAndReservesDomain' xlink:to='us-gaap_AllowanceForCreditLossMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryValuationReserveMember' xlink:label='us-gaap_InventoryValuationReserveMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_ValuationAllowancesAndReservesDomain' xlink:to='us-gaap_InventoryValuationReserveMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance' xlink:label='us-gaap_ValuationAllowancesAndReservesBalance'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ValuationAllowancesAndReservesBalance' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense' xlink:label='us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions' xlink:label='us-gaap_ValuationAllowancesAndReservesDeductions'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ValuationAllowancesAndReservesDeductions' use='optional' order='3.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_DisclosureOtherIncomeTaxDisclosuresDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DisclosureOtherIncomeTaxDisclosuresDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DisclosureOtherIncomeTaxDisclosuresDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_DisclosureProfitSharingPlanDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DisclosureProfitSharingPlanDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DisclosureProfitSharingPlanDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure5OtherIncomeOtherIncomeDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis' xlink:label='us-gaap_StatementBusinessSegmentsAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementBusinessSegmentsAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentDomain' xlink:label='us-gaap_SegmentDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='us-gaap_SegmentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentDomain' xlink:label='us-gaap_SegmentDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='us-gaap_SegmentDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_FastenerMember' xlink:label='fil_FastenerMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_SegmentDomain' xlink:to='fil_FastenerMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_AssemblyEquipmentMember' xlink:label='fil_AssemblyEquipmentMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_SegmentDomain' xlink:to='fil_AssemblyEquipmentMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_UnallocatedCorporateMember' xlink:label='fil_UnallocatedCorporateMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_SegmentDomain' xlink:to='fil_UnallocatedCorporateMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Revenues' xlink:label='us-gaap_Revenues'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_Revenues' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Depreciation' xlink:label='us-gaap_Depreciation'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_Depreciation' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_SegmentOperatingProfit' xlink:label='fil_SegmentOperatingProfit'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_SegmentOperatingProfit' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_SellingAndAdministrativeExpensesUnallocatedCorporate' xlink:label='fil_SellingAndAdministrativeExpensesUnallocatedCorporate'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_SellingAndAdministrativeExpensesUnallocatedCorporate' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestAndOtherIncome' xlink:label='us-gaap_InterestAndOtherIncome'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_InterestAndOtherIncome' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:label='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableNetCurrent' xlink:label='us-gaap_AccountsReceivableNetCurrent'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_AccountsReceivableNetCurrent' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_InventoryNet' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssets' xlink:label='us-gaap_OtherAssets'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_OtherAssets' use='optional' order='10.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis' xlink:label='us-gaap_StatementBusinessSegmentsAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementBusinessSegmentsAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentDomain' xlink:label='us-gaap_SegmentDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='us-gaap_SegmentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentDomain' xlink:label='us-gaap_SegmentDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='us-gaap_SegmentDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_FastenerMember' xlink:label='fil_FastenerMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_SegmentDomain' xlink:to='fil_FastenerMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_AssemblyEquipmentMember' xlink:label='fil_AssemblyEquipmentMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_SegmentDomain' xlink:to='fil_AssemblyEquipmentMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.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/2021/elts/srt-2021-01-31.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/2021/elts/srt-2021-01-31.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='cvr-20211231.xsd#fil_AutomotiveMember' xlink:label='fil_AutomotiveMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_AutomotiveMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_NonautomotiveMember' xlink:label='fil_NonautomotiveMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_NonautomotiveMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.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='3.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.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/2021/elts/srt-2021-01-31.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='cvr-20211231.xsd#fil_UnitedStatesMember' xlink:label='fil_UnitedStatesMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_SegmentGeographicalDomain' xlink:to='fil_UnitedStatesMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_ForeignMember' xlink:label='fil_ForeignMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_SegmentGeographicalDomain' xlink:to='fil_ForeignMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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.chicagorivet.com/20211231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MajorCustomersAxis' xlink:label='srt_MajorCustomersAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_MajorCustomersAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_NameOfMajorCustomerDomain' xlink:label='srt_NameOfMajorCustomerDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_MajorCustomersAxis' xlink:to='srt_NameOfMajorCustomerDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_NameOfMajorCustomerDomain' xlink:label='srt_NameOfMajorCustomerDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_MajorCustomersAxis' xlink:to='srt_NameOfMajorCustomerDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_TIGroupAutomotiveSystemsMember' xlink:label='fil_TIGroupAutomotiveSystemsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_NameOfMajorCustomerDomain' xlink:to='fil_TIGroupAutomotiveSystemsMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_CooperStandardHoldingsIncMember' xlink:label='fil_CooperStandardHoldingsIncMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_NameOfMajorCustomerDomain' xlink:to='fil_CooperStandardHoldingsIncMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_ParkerHannifinCorporationMember' xlink:label='fil_ParkerHannifinCorporationMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_NameOfMajorCustomerDomain' xlink:to='fil_ParkerHannifinCorporationMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskPercentage1' xlink:label='us-gaap_ConcentrationRiskPercentage1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ConcentrationRiskPercentage1' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalInformationAboutEntitysReportableSegments' xlink:label='us-gaap_AdditionalInformationAboutEntitysReportableSegments'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_AdditionalInformationAboutEntitysReportableSegments' use='optional' order='2.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_DisclosureCommitmentsAndContingenciesDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DisclosureCommitmentsAndContingenciesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DisclosureCommitmentsAndContingenciesDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_DisclosureSubsequentEventsDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DisclosureSubsequentEventsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DisclosureSubsequentEventsDetails"/>
	<link:roleRef roleURI='http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists' xlink:type='simple' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-roles-2021-01-31.xsd#eedm'/>
	<link:definitionLink xlink:role='http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists' xlink:type='extended'>
	</link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>11
<FILENAME>cvr-20211231_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2022 [PPXC1A0KDJ2KVG89DFHW]. 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.chicagorivet.com/20211231"
		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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes' xlink:label='us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>State taxes, net of federal 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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes' xlink:to='lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized' xlink:label='us-gaap_ContractWithCustomerLiabilityRevenueRecognized'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Revenue Recognized</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ContractWithCustomerLiabilityRevenueRecognized' xlink:to='lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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 {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentTextBlock' xlink:role='http://www.xbrl.org/2003/role/terseLabel' 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.sec.gov/dei/2021q4/dei-2021q4.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='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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'>Entity 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='cvr-20211231.xsd#fil_NonautomotiveMember' xlink:label='fil_NonautomotiveMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_NonautomotiveMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Nonautomotive</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_NonautomotiveMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Nonautomotive, 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_NonautomotiveMember' xlink:to='lab_fil_NonautomotiveMember'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_SegmentOperatingProfit' xlink:label='fil_SegmentOperatingProfit'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_SegmentOperatingProfit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Segment operating profit</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_SegmentOperatingProfit' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>The net result for the period of deducting segment operating expenses from segment operating revenues.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_SegmentOperatingProfit' xlink:to='lab_fil_SegmentOperatingProfit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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</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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock' xlink:label='us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>4 - Profit Sharing Plan</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock' xlink:to='lab_us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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'>2 - Balance Sheet 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_SupplementalBalanceSheetDisclosuresTextBlock' xlink:to='lab_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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.sec.gov/dei/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DividendsPayableAmountPerShare' xlink:label='us-gaap_DividendsPayableAmountPerShare'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DividendsPayableAmountPerShare' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Dividends per share declared</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DividendsPayableAmountPerShare' xlink:to='lab_us-gaap_DividendsPayableAmountPerShare'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssets' xlink:label='us-gaap_OtherAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other 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_OtherAssets' xlink:to='lab_us-gaap_OtherAssets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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'>Allowance for doubtful 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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' xlink:to='lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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'>Inventory {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsInventory' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment' xlink:label='us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Depreciation and amortization</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Depreciation and 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_DeferredTaxLiabilitiesPropertyPlantAndEquipment' xlink:to='lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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</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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LandAndLandImprovements' xlink:label='us-gaap_LandAndLandImprovements'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LandAndLandImprovements' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Land and 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_LandAndLandImprovements' xlink:to='lab_us-gaap_LandAndLandImprovements'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsCurrent' xlink:label='us-gaap_LiabilityForUncertainTaxPositionsCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilityForUncertainTaxPositionsCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Liability for Uncertain Tax Positions</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilityForUncertainTaxPositionsCurrent' xlink:to='lab_us-gaap_LiabilityForUncertainTaxPositionsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.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='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock' xlink:label='us-gaap_SegmentReportingPolicyPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SegmentReportingPolicyPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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_SegmentReportingPolicyPolicyTextBlock' xlink:to='lab_us-gaap_SegmentReportingPolicyPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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'>7 - 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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIncomeTaxRefunds' xlink:label='us-gaap_ProceedsFromIncomeTaxRefunds'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ProceedsFromIncomeTaxRefunds' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Refunds Received for Income Taxes</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ProceedsFromIncomeTaxRefunds' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Refunds Received 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_ProceedsFromIncomeTaxRefunds' xlink:to='lab_us-gaap_ProceedsFromIncomeTaxRefunds'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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 Provided by 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 Provided by 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/2021/elts/us-gaap-2021-01-31.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 and 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_Depreciation' xlink:to='lab_us-gaap_Depreciation'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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 Before Income Taxes</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Income Before 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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:to='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Revenues' xlink:label='us-gaap_Revenues'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Revenues' xlink:role='http://www.xbrl.org/2003/role/label' 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_Revenues' xlink:to='lab_us-gaap_Revenues'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Common Stock Shares</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>Common Stock 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_CommonStockSharesOutstanding' xlink:to='lab_us-gaap_CommonStockSharesOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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, Plant and Equipment, net</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentNet' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Property, plant and equipment, 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_PropertyPlantAndEquipmentNet' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis' xlink:label='us-gaap_StatementBusinessSegmentsAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementBusinessSegmentsAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Segments [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_StatementBusinessSegmentsAxis' xlink:to='lab_us-gaap_StatementBusinessSegmentsAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance' xlink:label='us-gaap_DeferredTaxAssetsValuationAllowance'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsValuationAllowance' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred tax assets valuation allowance</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxAssetsValuationAllowance' xlink:to='lab_us-gaap_DeferredTaxAssetsValuationAllowance'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate' xlink:label='us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Expected tax at U.S. statutory 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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate' xlink:to='lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain' xlink:label='us-gaap_ValuationAllowancesAndReservesDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ValuationAllowancesAndReservesDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>SEC Schedule, 12-09, Valuation Allowances and 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_ValuationAllowancesAndReservesDomain' xlink:to='lab_us-gaap_ValuationAllowancesAndReservesDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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, 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_PropertyPlantAndEquipmentPolicyTextBlock' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure' xlink:label='us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure' 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_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure' xlink:to='lab_us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfSubsequentEventsTextBlock' xlink:label='us-gaap_ScheduleOfSubsequentEventsTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfSubsequentEventsTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>9 - 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_ScheduleOfSubsequentEventsTextBlock' xlink:to='lab_us-gaap_ScheduleOfSubsequentEventsTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock' xlink:label='us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>8 - COVID-19</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock' xlink:to='lab_us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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, 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_IncreaseDecreaseInAccountsReceivable' xlink:to='lab_us-gaap_IncreaseDecreaseInAccountsReceivable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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 (Used in) 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.sec.gov/dei/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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.sec.gov/dei/2021q4/dei-2021q4.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='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeasesRentExpenseNet' xlink:label='us-gaap_OperatingLeasesRentExpenseNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeasesRentExpenseNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Rent 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_OperatingLeasesRentExpenseNet' xlink:to='lab_us-gaap_OperatingLeasesRentExpenseNet'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_TIGroupAutomotiveSystemsMember' xlink:label='fil_TIGroupAutomotiveSystemsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_TIGroupAutomotiveSystemsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>T.I. Group Automotive Systems</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_TIGroupAutomotiveSystemsMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the T.I. Group Automotive Systems, 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_TIGroupAutomotiveSystemsMember' xlink:to='lab_fil_TIGroupAutomotiveSystemsMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNonoperatingIncome' xlink:label='us-gaap_OtherNonoperatingIncome'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherNonoperatingIncome' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other nonoperating income</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherNonoperatingIncome' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Other nonoperating 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_OtherNonoperatingIncome' xlink:to='lab_us-gaap_OtherNonoperatingIncome'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InvestmentIncomeInterest' xlink:label='us-gaap_InvestmentIncomeInterest'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InvestmentIncomeInterest' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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_InvestmentIncomeInterest' xlink:to='lab_us-gaap_InvestmentIncomeInterest'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet' xlink:label='us-gaap_DeferredTaxAssetsLiabilitiesNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsLiabilitiesNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Tax Assets and Liabilities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsLiabilitiesNet' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>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_DeferredTaxAssetsLiabilitiesNet' xlink:to='lab_us-gaap_DeferredTaxAssetsLiabilitiesNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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: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/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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 {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccountsPayableCurrent' 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_AccountsPayableCurrent' xlink:to='lab_us-gaap_AccountsPayableCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='cvr-20211231.xsd#fil_ForeignMember' xlink:label='fil_ForeignMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_ForeignMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Foreign</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_ForeignMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Foreign, 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_ForeignMember' xlink:to='lab_fil_ForeignMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestAndOtherIncome' xlink:label='us-gaap_InterestAndOtherIncome'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InterestAndOtherIncome' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Income {3}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InterestAndOtherIncome' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Other 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_InterestAndOtherIncome' xlink:to='lab_us-gaap_InterestAndOtherIncome'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments' xlink:label='us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Permanent differences, %</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments' xlink:to='lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense' xlink:label='us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Charges to statement of 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_ValuationAllowancesAndReservesChargedToCostAndExpense' xlink:to='lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForCreditLossMember' xlink:label='us-gaap_AllowanceForCreditLossMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AllowanceForCreditLossMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>SEC Schedule, 12-09, Allowance, 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_AllowanceForCreditLossMember' xlink:to='lab_us-gaap_AllowanceForCreditLossMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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'>All other 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_OtherAccruedLiabilitiesCurrent' xlink:to='lab_us-gaap_OtherAccruedLiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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'>Work in process</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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' xlink:label='us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Unrecognized Tax Benefits {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Unrecognized Tax Benefits</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' xlink:to='lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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'>Provision for Income Tax 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_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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 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/2021/elts/us-gaap-2021-01-31.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 (Used in) 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 (Used in) 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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicAndDilutedShare' xlink:label='us-gaap_IncomeLossFromContinuingOperationsPerBasicAndDilutedShare'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicAndDilutedShare' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net Income 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_IncomeLossFromContinuingOperationsPerBasicAndDilutedShare' xlink:to='lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicAndDilutedShare'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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 Profit (Loss)</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 Profit (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_OperatingIncomeLoss' xlink:to='lab_us-gaap_OperatingIncomeLoss'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract' xlink:label='us-gaap_CommitmentsAndContingenciesDisclosureAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Commitments and contingencies (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_CommitmentsAndContingenciesDisclosureAbstract' xlink:to='lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021q4/dei-2021q4.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'>Entity 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.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DividendPayableDateToBePaidDayMonthAndYear' xlink:label='us-gaap_DividendPayableDateToBePaidDayMonthAndYear'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DividendPayableDateToBePaidDayMonthAndYear' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Dividends Payable, Date 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_DividendPayableDateToBePaidDayMonthAndYear' xlink:to='lab_us-gaap_DividendPayableDateToBePaidDayMonthAndYear'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_UnitedStatesMember' xlink:label='fil_UnitedStatesMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_UnitedStatesMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>United States</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_UnitedStatesMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents 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_UnitedStatesMember' xlink:to='lab_fil_UnitedStatesMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance' xlink:label='us-gaap_ValuationAllowancesAndReservesBalance'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ValuationAllowancesAndReservesBalance' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Balance at beginning of year</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ValuationAllowancesAndReservesBalance' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Balance at beginning of year</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ValuationAllowancesAndReservesBalance' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>Balance 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_ValuationAllowancesAndReservesBalance' xlink:to='lab_us-gaap_ValuationAllowancesAndReservesBalance'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryValuationReserveMember' xlink:label='us-gaap_InventoryValuationReserveMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryValuationReserveMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>SEC Schedule, 12-09, Reserve, 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_InventoryValuationReserveMember' xlink:to='lab_us-gaap_InventoryValuationReserveMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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'>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_NewAccountingPronouncementsPolicyPolicyTextBlock' xlink:to='lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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</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/2021/elts/us-gaap-2021-01-31.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'>3 - 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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities' xlink:label='us-gaap_PaymentsToAcquireHeldToMaturitySecurities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquireHeldToMaturitySecurities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Purchases of Certificates of Deposit</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquireHeldToMaturitySecurities' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Purchases of Certificates of Deposit</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PaymentsToAcquireHeldToMaturitySecurities' xlink:to='lab_us-gaap_PaymentsToAcquireHeldToMaturitySecurities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:label='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Changes in Operating 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_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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'>Consolidated Statements of Cash Flows</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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesOutstanding' xlink:label='us-gaap_PreferredStockSharesOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PreferredStockSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Preferred 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_PreferredStockSharesOutstanding' xlink:to='lab_us-gaap_PreferredStockSharesOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskPercentage1' xlink:label='us-gaap_ConcentrationRiskPercentage1'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ConcentrationRiskPercentage1' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Percentage of revenues from major customers</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ConcentrationRiskPercentage1' xlink:to='lab_us-gaap_ConcentrationRiskPercentage1'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_AssemblyEquipmentMember' xlink:label='fil_AssemblyEquipmentMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_AssemblyEquipmentMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Assembly Equipment</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_AssemblyEquipmentMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Assembly Equipment, 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_AssemblyEquipmentMember' xlink:to='lab_fil_AssemblyEquipmentMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentDomain' xlink:label='us-gaap_SegmentDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SegmentDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Segments</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SegmentDomain' xlink:to='lab_us-gaap_SegmentDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations' xlink:label='us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Provision for Federal income tax expense, 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_FederalIncomeTaxExpenseBenefitContinuingOperations' xlink:to='lab_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentOtherNet' xlink:label='us-gaap_PropertyPlantAndEquipmentOtherNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentOtherNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property, Plant and Equipment, 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_PropertyPlantAndEquipmentOtherNet' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentOtherNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryValuationReserves' xlink:label='us-gaap_InventoryValuationReserves'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryValuationReserves' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Valuation reserves</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryValuationReserves' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Valuation 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_InventoryValuationReserves' xlink:to='lab_us-gaap_InventoryValuationReserves'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInOtherAccruedLiabilities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Accrued Expenses {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Other 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_IncreaseDecreaseInOtherAccruedLiabilities' xlink:to='lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockDividendsPerShareDeclared' xlink:label='us-gaap_CommonStockDividendsPerShareDeclared'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockDividendsPerShareDeclared' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, Dividends, Per Share, Declared</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockDividendsPerShareDeclared' xlink:to='lab_us-gaap_CommonStockDividendsPerShareDeclared'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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 {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsAbstract' xlink:role='http://www.xbrl.org/2003/role/terseLabel' 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.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_NameOfMajorCustomerDomain' xlink:label='srt_NameOfMajorCustomerDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_NameOfMajorCustomerDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Customer</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_NameOfMajorCustomerDomain' xlink:to='lab_srt_NameOfMajorCustomerDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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'>Permanent differences</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/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestAndOtherIncomeTextBlock' xlink:label='us-gaap_InterestAndOtherIncomeTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InterestAndOtherIncomeTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>5 - Other 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_InterestAndOtherIncomeTextBlock' xlink:to='lab_us-gaap_InterestAndOtherIncomeTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxesPaidNetAbstract' xlink:label='us-gaap_IncomeTaxesPaidNetAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxesPaidNetAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net Cash Paid (Refunds Received) 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_IncomeTaxesPaidNetAbstract' xlink:to='lab_us-gaap_IncomeTaxesPaidNetAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash and Cash Equivalents {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract' xlink:role='http://www.xbrl.org/2003/role/terseLabel' 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_CashAndCashEquivalentsAtCarryingValueAbstract' xlink:to='lab_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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 {2}</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/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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'>Other 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_AccruedLiabilitiesCurrent' xlink:to='lab_us-gaap_AccruedLiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CertificatesOfDepositAtCarryingValue' xlink:label='us-gaap_CertificatesOfDepositAtCarryingValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CertificatesOfDepositAtCarryingValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Certificates of Deposit</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CertificatesOfDepositAtCarryingValue' xlink:to='lab_us-gaap_CertificatesOfDepositAtCarryingValue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021q4/dei-2021q4.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'>Entity Voluntary Filers</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/2021q4/dei-2021q4.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.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences' xlink:label='us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accrued vacation</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences' xlink:to='lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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'>State taxes, net of federal 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_IncomeTaxReconciliationStateAndLocalIncomeTaxes' xlink:to='lab_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember' xlink:label='us-gaap_SoftwareAndSoftwareDevelopmentCostsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Software and Software Development 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_SoftwareAndSoftwareDevelopmentCostsMember' xlink:to='lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BuildingImprovementsMember' xlink:label='us-gaap_BuildingImprovementsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_BuildingImprovementsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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_BuildingImprovementsMember' xlink:to='lab_us-gaap_BuildingImprovementsMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock' xlink:label='us-gaap_DisaggregationOfRevenueTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DisaggregationOfRevenueTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Disaggregation of Revenue</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DisaggregationOfRevenueTableTextBlock' xlink:to='lab_us-gaap_DisaggregationOfRevenueTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.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/srt/2021/elts/srt-2021-01-31.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='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy' xlink:label='us-gaap_FairValueOfFinancialInstrumentsPolicy'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FairValueOfFinancialInstrumentsPolicy' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Fair Value of Financial Instruments</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FairValueOfFinancialInstrumentsPolicy' xlink:to='lab_us-gaap_FairValueOfFinancialInstrumentsPolicy'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Dividends' xlink:label='us-gaap_Dividends'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Dividends' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Dividends Declared</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Dividends' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Dividends Declared</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Dividends' xlink:to='lab_us-gaap_Dividends'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesAuthorized' xlink:label='us-gaap_PreferredStockSharesAuthorized'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PreferredStockSharesAuthorized' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Preferred 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_PreferredStockSharesAuthorized' xlink:to='lab_us-gaap_PreferredStockSharesAuthorized'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare' xlink:label='us-gaap_PreferredStockParOrStatedValuePerShare'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PreferredStockParOrStatedValuePerShare' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Preferred 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_PreferredStockParOrStatedValuePerShare' xlink:to='lab_us-gaap_PreferredStockParOrStatedValuePerShare'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockValue' xlink:label='us-gaap_PreferredStockValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PreferredStockValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Preferred Stock, No Par Value, 500,000 Shares Authorized: None 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_PreferredStockValue' xlink:to='lab_us-gaap_PreferredStockValue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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'>Accrued Wages and Salaries</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.sec.gov/dei/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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'>Less: Accumulated Depreciation</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'>Less: Accumulated 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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:to='lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' xlink:label='us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Accrued Expenses {2}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Other 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_ScheduleOfAccruedLiabilitiesTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease' xlink:label='us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net (Decrease) Increase in Cash and Cash Equivalents</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net (Decrease) 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_CashAndCashEquivalentsPeriodIncreaseDecrease' xlink:to='lab_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireProductiveAssets' xlink:label='us-gaap_PaymentsToAcquireProductiveAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquireProductiveAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Capital Expenditures</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquireProductiveAssets' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Capital Expenditures</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PaymentsToAcquireProductiveAssets' xlink:to='lab_us-gaap_PaymentsToAcquireProductiveAssets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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 and Cash Equivalents</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Beginning of Year</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>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_CashAndCashEquivalentsAtCarryingValue' xlink:to='lab_us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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.sec.gov/dei/2021q4/dei-2021q4.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'>Entity 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.sec.gov/dei/2021q4/dei-2021q4.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='cvr-20211231.xsd#fil_ParkerHannifinCorporationMember' xlink:label='fil_ParkerHannifinCorporationMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_ParkerHannifinCorporationMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Parker Hannifin Corporation</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_ParkerHannifinCorporationMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Parker Hannifin Corporation, 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_ParkerHannifinCorporationMember' xlink:to='lab_fil_ParkerHannifinCorporationMember'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_SellingAndAdministrativeExpensesUnallocatedCorporate' xlink:label='fil_SellingAndAdministrativeExpensesUnallocatedCorporate'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_SellingAndAdministrativeExpensesUnallocatedCorporate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Selling and Administrative Expenses {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_SellingAndAdministrativeExpensesUnallocatedCorporate' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Selling and Administrative Expenses</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_SellingAndAdministrativeExpensesUnallocatedCorporate' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>The aggregate total costs related to selling a firm&apos;s product and services, as well as all other general and administrative expenses.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_SellingAndAdministrativeExpensesUnallocatedCorporate' xlink:to='lab_fil_SellingAndAdministrativeExpensesUnallocatedCorporate'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentOther' xlink:label='us-gaap_PropertyPlantAndEquipmentOther'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentOther' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Capitalized software and 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_PropertyPlantAndEquipmentOther' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentOther'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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</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/srt/2021/elts/srt-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember' xlink:label='us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Capitalized 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_OtherCapitalizedPropertyPlantAndEquipmentMember' xlink:to='lab_us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='cvr-20211231.xsd#fil_LocationMember' xlink:label='fil_LocationMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_LocationMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Location</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_LocationMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the 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_LocationMember' xlink:to='lab_fil_LocationMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/srt-2021-01-31.xsd#srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock' xlink:label='srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Valuation and Qualifying Accounts</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock' xlink:to='lab_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock' xlink:label='us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>1 - Nature of Business and 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_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock' xlink:to='lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit' xlink:label='us-gaap_CurrentStateAndLocalTaxExpenseBenefit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Provision for State income tax expense, 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_CurrentStateAndLocalTaxExpenseBenefit' xlink:to='lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock' xlink:label='us-gaap_ScheduleOfInventoryCurrentTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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_ScheduleOfInventoryCurrentTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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 and Certificates of Deposit</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='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accrued Wages and Salaries {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Accrued Wages and Salaries</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' xlink:to='lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockShares' xlink:label='us-gaap_TreasuryStockShares'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TreasuryStockShares' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Treasury Stock Shares</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TreasuryStockShares' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Treasury Stock Shares</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TreasuryStockShares' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>Treasury Stock 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_TreasuryStockShares' xlink:to='lab_us-gaap_TreasuryStockShares'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockMember' xlink:label='us-gaap_PreferredStockMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PreferredStockMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Preferred 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_PreferredStockMember' xlink:to='lab_us-gaap_PreferredStockMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetIncomeLoss' 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_NetIncomeLoss' xlink:role='http://www.xbrl.org/2003/role/totalLabel' 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_NetIncomeLoss' xlink:to='lab_us-gaap_NetIncomeLoss'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Income tax 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_IncomeTaxExpenseBenefit' xlink:to='lab_us-gaap_IncomeTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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 Shareholders&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 Shareholders&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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockValue' xlink:label='us-gaap_TreasuryStockValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TreasuryStockValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Treasury Stock, 171,964 Shares at cost</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TreasuryStockValue' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Treasury Stock, 171,964 Shares at 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_TreasuryStockValue' xlink:to='lab_us-gaap_TreasuryStockValue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CustomerAdvancesAndDepositsCurrent' xlink:label='us-gaap_CustomerAdvancesAndDepositsCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CustomerAdvancesAndDepositsCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Unearned Revenue and Customer Deposits</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CustomerAdvancesAndDepositsCurrent' xlink:to='lab_us-gaap_CustomerAdvancesAndDepositsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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'>Registrant CIK</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='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DividendsPayableDateDeclaredDayMonthAndYear' xlink:label='us-gaap_DividendsPayableDateDeclaredDayMonthAndYear'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DividendsPayableDateDeclaredDayMonthAndYear' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Dividend declaration date</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DividendsPayableDateDeclaredDayMonthAndYear' xlink:to='lab_us-gaap_DividendsPayableDateDeclaredDayMonthAndYear'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MajorCustomersAxis' xlink:label='srt_MajorCustomersAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_MajorCustomersAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Customer [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_MajorCustomersAxis' xlink:to='lab_srt_MajorCustomersAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations' xlink:label='us-gaap_EffectiveIncomeTaxRateContinuingOperations'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Income tax 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_EffectiveIncomeTaxRateContinuingOperations' xlink:to='lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherEmployeeRelatedLiabilitiesCurrent' xlink:label='us-gaap_OtherEmployeeRelatedLiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherEmployeeRelatedLiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Profit sharing plan contribution</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherEmployeeRelatedLiabilitiesCurrent' xlink:to='lab_us-gaap_OtherEmployeeRelatedLiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_EndMarketMember' xlink:label='fil_EndMarketMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_EndMarketMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>End Market</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_EndMarketMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the End Market, 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_EndMarketMember' xlink:to='lab_fil_EndMarketMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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'>Net Income Per Share {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EarningsPerSharePolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Net Income 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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnDispositionOfAssets' xlink:label='us-gaap_GainLossOnDispositionOfAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GainLossOnDispositionOfAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Loss on the Sale of 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_GainLossOnDispositionOfAssets' xlink:to='lab_us-gaap_GainLossOnDispositionOfAssets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfRevenue' xlink:label='us-gaap_CostOfRevenue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CostOfRevenue' 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_CostOfRevenue' xlink:to='lab_us-gaap_CostOfRevenue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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 Shareholders&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/2021/elts/us-gaap-2021-01-31.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'>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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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.sec.gov/dei/2021q4/dei-2021q4.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:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_CooperStandardHoldingsIncMember' xlink:label='fil_CooperStandardHoldingsIncMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_CooperStandardHoldingsIncMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cooper Standard Holdings Inc</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_CooperStandardHoldingsIncMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Cooper Standard Holdings 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_CooperStandardHoldingsIncMember' xlink:to='lab_fil_CooperStandardHoldingsIncMember'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_FastenerMember' xlink:label='fil_FastenerMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_FastenerMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Fastener</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_FastenerMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Fastener, 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_FastenerMember' xlink:to='lab_fil_FastenerMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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'>Expected tax at U.S. statutory 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_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' xlink:to='lab_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions' xlink:label='us-gaap_ValuationAllowancesAndReservesDeductions'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ValuationAllowancesAndReservesDeductions' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Write-offs</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ValuationAllowancesAndReservesDeductions' xlink:to='lab_us-gaap_ValuationAllowancesAndReservesDeductions'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryFinishedGoods' xlink:label='us-gaap_InventoryFinishedGoods'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryFinishedGoods' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finished goods</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryFinishedGoods' xlink:to='lab_us-gaap_InventoryFinishedGoods'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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'>Raw materials</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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LandImprovementsMember' xlink:label='us-gaap_LandImprovementsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LandImprovementsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Land Improvements {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LandImprovementsMember' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Land 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_LandImprovementsMember' xlink:to='lab_us-gaap_LandImprovementsMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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'>6 - 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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockMember' xlink:label='us-gaap_TreasuryStockMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TreasuryStockMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Treasury 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_TreasuryStockMember' xlink:to='lab_us-gaap_TreasuryStockMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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 Income {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherNonoperatingIncomeExpense' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Other 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_OtherNonoperatingIncomeExpense' xlink:to='lab_us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense' xlink:label='us-gaap_SellingGeneralAndAdministrativeExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SellingGeneralAndAdministrativeExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Selling and Administrative 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_SellingGeneralAndAdministrativeExpense' xlink:to='lab_us-gaap_SellingGeneralAndAdministrativeExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidTaxes' xlink:label='us-gaap_PrepaidTaxes'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PrepaidTaxes' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Prepaid 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_PrepaidTaxes' xlink:to='lab_us-gaap_PrepaidTaxes'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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 Receivable - Less allowances of $170,000</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccountsReceivableNetCurrent' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Accounts receivable, 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_AccountsReceivableNetCurrent' xlink:to='lab_us-gaap_AccountsReceivableNetCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DividendsPayableDateOfRecordDayMonthAndYear' xlink:label='us-gaap_DividendsPayableDateOfRecordDayMonthAndYear'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Dividends Payable, Date of Record</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DividendsPayableDateOfRecordDayMonthAndYear' xlink:to='lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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'>Revenue</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='cvr-20211231.xsd#fil_UnallocatedCorporateMember' xlink:label='fil_UnallocatedCorporateMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_UnallocatedCorporateMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Unallocated Corporate</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_UnallocatedCorporateMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Unallocated Corporate, 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_UnallocatedCorporateMember' xlink:to='lab_fil_UnallocatedCorporateMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOther' xlink:label='us-gaap_DeferredTaxAssetsOther'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsOther' 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_DeferredTaxAssetsOther' xlink:to='lab_us-gaap_DeferredTaxAssetsOther'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent' xlink:label='us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property 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_AccrualForTaxesOtherThanIncomeTaxesCurrent' xlink:to='lab_us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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</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='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestAndOtherIncomeTableTextBlock' xlink:label='us-gaap_InterestAndOtherIncomeTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InterestAndOtherIncomeTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Income {2}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InterestAndOtherIncomeTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Other 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_InterestAndOtherIncomeTableTextBlock' xlink:to='lab_us-gaap_InterestAndOtherIncomeTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' xlink:label='us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Proceeds from Certificates of Deposit</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' xlink:to='lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' xlink:label='us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Unearned Revenue and Customer Deposits {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Unearned Revenue and Customer Deposits</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' xlink:to='lab_us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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, net {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInInventories' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Inventories, 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_IncreaseDecreaseInInventories' xlink:to='lab_us-gaap_IncreaseDecreaseInInventories'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Provision for income tax expense, Deferred</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/2021/elts/us-gaap-2021-01-31.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 {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RetainedEarningsMember' xlink:role='http://www.xbrl.org/2003/role/terseLabel' 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/2021/elts/us-gaap-2021-01-31.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 {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdditionalPaidInCapitalMember' xlink:role='http://www.xbrl.org/2003/role/terseLabel' 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/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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'>Consolidated Statements of 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_IncomeStatementAbstract' xlink:to='lab_us-gaap_IncomeStatementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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 Shareholders&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 Shareholders&apos; Equity</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Beginning Balance</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>Ending Balance</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.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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'>Shareholders&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/2021/elts/us-gaap-2021-01-31.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/2021q4/dei-2021q4.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.sec.gov/dei/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DividendsPayableCurrent' xlink:label='us-gaap_DividendsPayableCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DividendsPayableCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Dividends payable 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_DividendsPayableCurrent' xlink:to='lab_us-gaap_DividendsPayableCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalInformationAboutEntitysReportableSegments' xlink:label='us-gaap_AdditionalInformationAboutEntitysReportableSegments'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdditionalInformationAboutEntitysReportableSegments' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Percentage of accounts receivable balances</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AdditionalInformationAboutEntitysReportableSegments' xlink:to='lab_us-gaap_AdditionalInformationAboutEntitysReportableSegments'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_AutomotiveMember' xlink:label='fil_AutomotiveMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_AutomotiveMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Automotive</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_AutomotiveMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Automotive, 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_AutomotiveMember' xlink:to='lab_fil_AutomotiveMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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'>Capital expenditures</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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:label='us-gaap_ValuationAllowancesAndReservesTypeAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>SEC Schedule, 12-09, Valuation Allowances and Reserves Type [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_ValuationAllowancesAndReservesTypeAxis' xlink:to='lab_us-gaap_ValuationAllowancesAndReservesTypeAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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 Common 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_WeightedAverageNumberOfSharesOutstandingBasic' xlink:to='lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MachineryAndEquipmentMember' xlink:label='us-gaap_MachineryAndEquipmentMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_MachineryAndEquipmentMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Machinery 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_MachineryAndEquipmentMember' xlink:to='lab_us-gaap_MachineryAndEquipmentMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskCreditRisk' xlink:label='us-gaap_ConcentrationRiskCreditRisk'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ConcentrationRiskCreditRisk' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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_ConcentrationRiskCreditRisk' xlink:to='lab_us-gaap_ConcentrationRiskCreditRisk'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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'>Net Cash Piad 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_IncomeTaxesPaid' xlink:to='lab_us-gaap_IncomeTaxesPaid'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfDividendsCommonStock' xlink:label='us-gaap_PaymentsOfDividendsCommonStock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsOfDividendsCommonStock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash Dividends Paid</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsOfDividendsCommonStock' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Cash 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_PaymentsOfDividendsCommonStock' xlink:to='lab_us-gaap_PaymentsOfDividendsCommonStock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets' xlink:label='us-gaap_IncreaseDecreaseInOtherOperatingAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Current Assets {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>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_IncreaseDecreaseInOtherOperatingAssets' xlink:to='lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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: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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockValueOutstanding' xlink:label='us-gaap_CommonStockValueOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockValueOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, $1.00 Par Value, 4,000,000 Shares Authorized: 1,138,096 Shares Issued, 966,132 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_CommonStockValueOutstanding' xlink:to='lab_us-gaap_CommonStockValueOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesNoncurrent' xlink:label='us-gaap_DeferredTaxLiabilitiesNoncurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxLiabilitiesNoncurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Income Taxes, 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_DeferredTaxLiabilitiesNoncurrent' xlink:to='lab_us-gaap_DeferredTaxLiabilitiesNoncurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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, 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_InventoryNet' xlink:to='lab_us-gaap_InventoryNet'/>
	</link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>12
<FILENAME>cvr-20211231_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2022 [PPXC1A0KDJ2KVG89DFHW]. 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.chicagorivet.com/20211231"
		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.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DocumentDocumentAndEntityInformation"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='11.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='12.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='13.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='14.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='15.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='16.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='17.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='18.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='19.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='20.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='21.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='22.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='23.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='24.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='25.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='26.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='27.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='28.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='29.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='30.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='31.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='32.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='33.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='34.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='35.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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='36.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_StatementConsolidatedBalanceSheets"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_TextBlockAbstract' xlink:to='us-gaap_AssetsAbstract' 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/2021/elts/us-gaap-2021-01-31.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_AssetsAbstract' xlink:to='us-gaap_AssetsCurrentAbstract' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CertificatesOfDepositAtCarryingValue' xlink:label='us-gaap_CertificatesOfDepositAtCarryingValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_CertificatesOfDepositAtCarryingValue' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidTaxes' xlink:label='us-gaap_PrepaidTaxes'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_PrepaidTaxes' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_AssetsCurrentAbstract' xlink:to='us-gaap_AssetsCurrent' 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/2021/elts/us-gaap-2021-01-31.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='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='3.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_TextBlockAbstract' xlink:to='us-gaap_LiabilitiesAndStockholdersEquityAbstract' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_LiabilitiesCurrentAbstract' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_LiabilitiesCurrentAbstract' xlink:to='us-gaap_EmployeeRelatedLiabilitiesCurrent' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CustomerAdvancesAndDepositsCurrent' xlink:label='us-gaap_CustomerAdvancesAndDepositsCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='us-gaap_CustomerAdvancesAndDepositsCurrent' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='5.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesNoncurrent' xlink:label='us-gaap_DeferredTaxLiabilitiesNoncurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_DeferredTaxLiabilitiesNoncurrent' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_Liabilities' 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/2021/elts/us-gaap-2021-01-31.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_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_StockholdersEquityAbstract' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockValue' xlink:label='us-gaap_PreferredStockValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='us-gaap_PreferredStockValue' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockValueOutstanding' xlink:label='us-gaap_CommonStockValueOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='us-gaap_CommonStockValueOutstanding' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_StockholdersEquityAbstract' xlink:to='us-gaap_AdditionalPaidInCapitalCommonStock' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_StockholdersEquityAbstract' xlink:to='us-gaap_RetainedEarningsAccumulatedDeficit' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockValue' xlink:label='us-gaap_TreasuryStockValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='us-gaap_TreasuryStockValue' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_StockholdersEquityAbstract' xlink:to='us-gaap_StockholdersEquity' 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/2021/elts/us-gaap-2021-01-31.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_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_LiabilitiesAndStockholdersEquity' 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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract' xlink:label='us-gaap_CommitmentsAndContingenciesDisclosureAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_CommitmentsAndContingenciesDisclosureAbstract' use='optional' order='3.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_StatementConsolidatedBalanceSheetsParenthetical"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheetsParenthetical">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare' xlink:label='us-gaap_PreferredStockParOrStatedValuePerShare'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_PreferredStockParOrStatedValuePerShare' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesAuthorized' xlink:label='us-gaap_PreferredStockSharesAuthorized'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_PreferredStockSharesAuthorized' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesOutstanding' xlink:label='us-gaap_PreferredStockSharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_PreferredStockSharesOutstanding' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_TextBlockAbstract' xlink:to='us-gaap_CommonStockParOrStatedValuePerShare' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_TextBlockAbstract' xlink:to='us-gaap_CommonStockSharesAuthorized' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_TextBlockAbstract' xlink:to='us-gaap_CommonStockSharesIssued' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_TextBlockAbstract' xlink:to='us-gaap_CommonStockSharesOutstanding' use='optional' order='8.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_StatementConsolidatedStatementsOfIncome"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementAbstract' xlink:label='us-gaap_IncomeStatementAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeStatementAbstract' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Revenues' xlink:label='us-gaap_Revenues'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_Revenues' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfRevenue' xlink:label='us-gaap_CostOfRevenue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_CostOfRevenue' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='4.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense' xlink:label='us-gaap_SellingGeneralAndAdministrativeExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_SellingGeneralAndAdministrativeExpense' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_TextBlockAbstract' xlink:to='us-gaap_OperatingIncomeLoss' 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/2021/elts/us-gaap-2021-01-31.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_TextBlockAbstract' xlink:to='us-gaap_OtherNonoperatingIncomeExpense' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='8.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_NetIncomeLoss' use='optional' order='10.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicAndDilutedShare' xlink:label='us-gaap_IncomeLossFromContinuingOperationsPerBasicAndDilutedShare'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeLossFromContinuingOperationsPerBasicAndDilutedShare' use='optional' order='11.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_StatementConsolidatedStatementsOfShareholdersEquity"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockMember' xlink:label='us-gaap_PreferredStockMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_PreferredStockMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='4.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='5.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockMember' xlink:label='us-gaap_TreasuryStockMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_TreasuryStockMember' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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_StatementLineItems' xlink:to='us-gaap_StockholdersEquity' 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/2021/elts/us-gaap-2021-01-31.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_StatementLineItems' xlink:to='us-gaap_CommonStockSharesOutstanding' 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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockShares' xlink:label='us-gaap_TreasuryStockShares'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_TreasuryStockShares' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/periodStartLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_NetIncomeLoss' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Dividends' xlink:label='us-gaap_Dividends'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_Dividends' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity_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_StockholdersEquity_1' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesOutstanding' xlink:label='us-gaap_CommonStockSharesOutstanding_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_CommonStockSharesOutstanding_1' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockShares' xlink:label='us-gaap_TreasuryStockShares_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_TreasuryStockShares_1' use='optional' order='8.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockDividendsPerShareDeclared' xlink:label='us-gaap_CommonStockDividendsPerShareDeclared'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_CommonStockDividendsPerShareDeclared' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_StatementConsolidatedStatementsOfCashFlows"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract' xlink:label='us-gaap_StatementOfCashFlowsAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementOfCashFlowsAbstract' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_NetIncomeLoss' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnDispositionOfAssets' xlink:label='us-gaap_GainLossOnDispositionOfAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_GainLossOnDispositionOfAssets' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:label='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInAccountsReceivable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInInventories' 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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets' xlink:label='us-gaap_IncreaseDecreaseInOtherOperatingAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInOtherOperatingAssets' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInAccountsPayable' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInOtherAccruedLiabilities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' xlink:label='us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInOperatingActivities' 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/2021/elts/us-gaap-2021-01-31.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='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireProductiveAssets' xlink:label='us-gaap_PaymentsToAcquireProductiveAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_PaymentsToAcquireProductiveAssets' 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/2021/elts/us-gaap-2021-01-31.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='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' xlink:label='us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities' xlink:label='us-gaap_PaymentsToAcquireHeldToMaturitySecurities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_PaymentsToAcquireHeldToMaturitySecurities' 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/2021/elts/us-gaap-2021-01-31.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='5.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfDividendsCommonStock' xlink:label='us-gaap_PaymentsOfDividendsCommonStock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:to='us-gaap_PaymentsOfDividendsCommonStock' 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/2021/elts/us-gaap-2021-01-31.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='2.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease' xlink:label='us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_StatementLineItems' xlink:to='us-gaap_CashAndCashEquivalentsAtCarryingValue' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/periodStartLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValue_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_CashAndCashEquivalentsAtCarryingValue_1' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxesPaidNetAbstract' xlink:label='us-gaap_IncomeTaxesPaidNetAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_IncomeTaxesPaidNetAbstract' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_StatementLineItems' xlink:to='us-gaap_IncomeTaxesPaid' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIncomeTaxRefunds' xlink:label='us-gaap_ProceedsFromIncomeTaxRefunds'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ProceedsFromIncomeTaxRefunds' use='optional' order='8.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock' xlink:label='us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure2BalanceSheetDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxes" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure3IncomeTaxes"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxes">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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.chicagorivet.com/20211231/role/idr_Disclosure4ProfitSharingPlan" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure4ProfitSharingPlan"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure4ProfitSharingPlan">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock' xlink:label='us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncome" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure5OtherIncome"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncome">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestAndOtherIncomeTextBlock' xlink:label='us-gaap_InterestAndOtherIncomeTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_InterestAndOtherIncomeTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformation" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure6SegmentInformation"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformation">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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.chicagorivet.com/20211231/role/idr_Disclosure7CommitmentsAndContingencies" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure7CommitmentsAndContingencies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure7CommitmentsAndContingencies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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.chicagorivet.com/20211231/role/idr_Disclosure8Covid19" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure8Covid19"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure8Covid19">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock' xlink:label='us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure9SubsequentEvents" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure9SubsequentEvents"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure9SubsequentEvents">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfSubsequentEventsTextBlock' xlink:label='us-gaap_ScheduleOfSubsequentEventsTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_ScheduleOfSubsequentEventsTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_DisclosureSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DisclosureSignificantAccountingPoliciesPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DisclosureSignificantAccountingPoliciesPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure' xlink:label='us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskCreditRisk' xlink:label='us-gaap_ConcentrationRiskCreditRisk'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_ConcentrationRiskCreditRisk' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy' xlink:label='us-gaap_FairValueOfFinancialInstrumentsPolicy'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_FairValueOfFinancialInstrumentsPolicy' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock' xlink:label='us-gaap_SegmentReportingPolicyPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_SegmentReportingPolicyPolicyTextBlock' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='10.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='11.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='12.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure2BalanceSheetDetailsInventoryTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock' xlink:label='us-gaap_ScheduleOfInventoryCurrentTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfInventoryCurrentTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' xlink:label='us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock' xlink:label='srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncomeOtherIncomeTables" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure5OtherIncomeOtherIncomeTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncomeOtherIncomeTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestAndOtherIncomeTableTextBlock' xlink:label='us-gaap_InterestAndOtherIncomeTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_InterestAndOtherIncomeTableTextBlock' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_TableTextBlockSupplementAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.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='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.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='cvr-20211231.xsd#fil_EndMarketMember' xlink:label='fil_EndMarketMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_EndMarketMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.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='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.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='cvr-20211231.xsd#fil_LocationMember' xlink:label='fil_LocationMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='fil_LocationMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock' xlink:label='us-gaap_DisaggregationOfRevenueTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_DisaggregationOfRevenueTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_DisclosureDeferredRevenueRecognizedDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DisclosureDeferredRevenueRecognizedDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DisclosureDeferredRevenueRecognizedDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized' xlink:label='us-gaap_ContractWithCustomerLiabilityRevenueRecognized'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ContractWithCustomerLiabilityRevenueRecognized' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LandImprovementsMember' xlink:label='us-gaap_LandImprovementsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_LandImprovementsMember' 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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BuildingImprovementsMember' xlink:label='us-gaap_BuildingImprovementsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_BuildingImprovementsMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MachineryAndEquipmentMember' xlink:label='us-gaap_MachineryAndEquipmentMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_MachineryAndEquipmentMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember' xlink:label='us-gaap_SoftwareAndSoftwareDevelopmentCostsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_SoftwareAndSoftwareDevelopmentCostsMember' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember' xlink:label='us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.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/2021/elts/srt-2021-01-31.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/2021/elts/srt-2021-01-31.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/2021/elts/srt-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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.chicagorivet.com/20211231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsCurrent' xlink:label='us-gaap_LiabilityForUncertainTaxPositionsCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LiabilityForUncertainTaxPositionsCurrent' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' xlink:label='us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure2BalanceSheetDetailsInventoryDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryFinishedGoods' xlink:label='us-gaap_InventoryFinishedGoods'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryFinishedGoods' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryValuationReserves' xlink:label='us-gaap_InventoryValuationReserves'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryValuationReserves' 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/2021/elts/us-gaap-2021-01-31.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='5.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LandAndLandImprovements' xlink:label='us-gaap_LandAndLandImprovements'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LandAndLandImprovements' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentOther' xlink:label='us-gaap_PropertyPlantAndEquipmentOther'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentOther' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='5.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentOtherNet' xlink:label='us-gaap_PropertyPlantAndEquipmentOtherNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentOtherNet' use='optional' order='6.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherEmployeeRelatedLiabilitiesCurrent' xlink:label='us-gaap_OtherEmployeeRelatedLiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OtherEmployeeRelatedLiabilitiesCurrent' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent' xlink:label='us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='4.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:label='us-gaap_ValuationAllowancesAndReservesTypeAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_ValuationAllowancesAndReservesTypeAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain' xlink:label='us-gaap_ValuationAllowancesAndReservesDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:to='us-gaap_ValuationAllowancesAndReservesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForCreditLossMember' xlink:label='us-gaap_AllowanceForCreditLossMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:to='us-gaap_AllowanceForCreditLossMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryValuationReserveMember' xlink:label='us-gaap_InventoryValuationReserveMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:to='us-gaap_InventoryValuationReserveMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance' xlink:label='us-gaap_ValuationAllowancesAndReservesBalance'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ValuationAllowancesAndReservesBalance' 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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense' xlink:label='us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions' xlink:label='us-gaap_ValuationAllowancesAndReservesDeductions'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ValuationAllowancesAndReservesDeductions' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance' xlink:label='us-gaap_ValuationAllowancesAndReservesBalance_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_ValuationAllowancesAndReservesBalance_1' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations' xlink:label='us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit' xlink:label='us-gaap_CurrentStateAndLocalTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_CurrentStateAndLocalTaxExpenseBenefit' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_TextBlockAbstract' xlink:to='us-gaap_DeferredIncomeTaxExpenseBenefit' 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/2021/elts/us-gaap-2021-01-31.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='4.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate' xlink:label='us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments' xlink:label='us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes' xlink:label='us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='7.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations' xlink:label='us-gaap_EffectiveIncomeTaxRateContinuingOperations'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EffectiveIncomeTaxRateContinuingOperations' use='optional' order='8.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment' xlink:label='us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment' 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/2021/elts/us-gaap-2021-01-31.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='2.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences' xlink:label='us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOther' xlink:label='us-gaap_DeferredTaxAssetsOther'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxAssetsOther' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet' xlink:label='us-gaap_DeferredTaxAssetsLiabilitiesNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxAssetsLiabilitiesNet' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_DisclosureOtherIncomeTaxDisclosuresDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DisclosureOtherIncomeTaxDisclosuresDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DisclosureOtherIncomeTaxDisclosuresDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance' xlink:label='us-gaap_DeferredTaxAssetsValuationAllowance'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxAssetsValuationAllowance' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_DisclosureProfitSharingPlanDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DisclosureProfitSharingPlanDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DisclosureProfitSharingPlanDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure5OtherIncomeOtherIncomeDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InvestmentIncomeInterest' xlink:label='us-gaap_InvestmentIncomeInterest'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InvestmentIncomeInterest' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNonoperatingIncome' xlink:label='us-gaap_OtherNonoperatingIncome'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OtherNonoperatingIncome' 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/2021/elts/us-gaap-2021-01-31.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_TextBlockAbstract' xlink:to='us-gaap_OtherNonoperatingIncomeExpense' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis' xlink:label='us-gaap_StatementBusinessSegmentsAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementBusinessSegmentsAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentDomain' xlink:label='us-gaap_SegmentDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='us-gaap_SegmentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_FastenerMember' xlink:label='fil_FastenerMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='fil_FastenerMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_AssemblyEquipmentMember' xlink:label='fil_AssemblyEquipmentMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='fil_AssemblyEquipmentMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_UnallocatedCorporateMember' xlink:label='fil_UnallocatedCorporateMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='fil_UnallocatedCorporateMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Revenues' xlink:label='us-gaap_Revenues'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_Revenues' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_StatementLineItems' xlink:to='us-gaap_Depreciation' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_SegmentOperatingProfit' xlink:label='fil_SegmentOperatingProfit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_SegmentOperatingProfit' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_SellingAndAdministrativeExpensesUnallocatedCorporate' xlink:label='fil_SellingAndAdministrativeExpensesUnallocatedCorporate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_SellingAndAdministrativeExpensesUnallocatedCorporate' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestAndOtherIncome' xlink:label='us-gaap_InterestAndOtherIncome'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_InterestAndOtherIncome' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_StatementLineItems' xlink:to='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_StatementLineItems' xlink:to='us-gaap_AccountsReceivableNetCurrent' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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_StatementLineItems' xlink:to='us-gaap_InventoryNet' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='9.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssets' xlink:label='us-gaap_OtherAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_OtherAssets' use='optional' order='10.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis' xlink:label='us-gaap_StatementBusinessSegmentsAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementBusinessSegmentsAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentDomain' xlink:label='us-gaap_SegmentDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='us-gaap_SegmentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_FastenerMember' xlink:label='fil_FastenerMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='fil_FastenerMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_AssemblyEquipmentMember' xlink:label='fil_AssemblyEquipmentMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='fil_AssemblyEquipmentMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.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/2021/elts/srt-2021-01-31.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='cvr-20211231.xsd#fil_AutomotiveMember' xlink:label='fil_AutomotiveMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_AutomotiveMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_NonautomotiveMember' xlink:label='fil_NonautomotiveMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_NonautomotiveMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.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='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.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='cvr-20211231.xsd#fil_UnitedStatesMember' xlink:label='fil_UnitedStatesMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='fil_UnitedStatesMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_ForeignMember' xlink:label='fil_ForeignMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='fil_ForeignMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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.chicagorivet.com/20211231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/srt-2021-01-31.xsd#srt_MajorCustomersAxis' xlink:label='srt_MajorCustomersAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_MajorCustomersAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_NameOfMajorCustomerDomain' xlink:label='srt_NameOfMajorCustomerDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_MajorCustomersAxis' xlink:to='srt_NameOfMajorCustomerDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_TIGroupAutomotiveSystemsMember' xlink:label='fil_TIGroupAutomotiveSystemsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_MajorCustomersAxis' xlink:to='fil_TIGroupAutomotiveSystemsMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_CooperStandardHoldingsIncMember' xlink:label='fil_CooperStandardHoldingsIncMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_MajorCustomersAxis' xlink:to='fil_CooperStandardHoldingsIncMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20211231.xsd#fil_ParkerHannifinCorporationMember' xlink:label='fil_ParkerHannifinCorporationMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_MajorCustomersAxis' xlink:to='fil_ParkerHannifinCorporationMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.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/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskPercentage1' xlink:label='us-gaap_ConcentrationRiskPercentage1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ConcentrationRiskPercentage1' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalInformationAboutEntitysReportableSegments' xlink:label='us-gaap_AdditionalInformationAboutEntitysReportableSegments'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_AdditionalInformationAboutEntitysReportableSegments' use='optional' order='2.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_DisclosureCommitmentsAndContingenciesDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DisclosureCommitmentsAndContingenciesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DisclosureCommitmentsAndContingenciesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeasesRentExpenseNet' xlink:label='us-gaap_OperatingLeasesRentExpenseNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeasesRentExpenseNet' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20211231/role/idr_DisclosureSubsequentEventsDetails" xlink:type="simple" xlink:href="cvr-20211231.xsd#idr_DisclosureSubsequentEventsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20211231/role/idr_DisclosureSubsequentEventsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DividendsPayableDateDeclaredDayMonthAndYear' xlink:label='us-gaap_DividendsPayableDateDeclaredDayMonthAndYear'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DividendsPayableDateDeclaredDayMonthAndYear' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DividendsPayableAmountPerShare' xlink:label='us-gaap_DividendsPayableAmountPerShare'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DividendsPayableAmountPerShare' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DividendsPayableCurrent' xlink:label='us-gaap_DividendsPayableCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DividendsPayableCurrent' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DividendPayableDateToBePaidDayMonthAndYear' xlink:label='us-gaap_DividendPayableDateToBePaidDayMonthAndYear'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DividendPayableDateToBePaidDayMonthAndYear' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DividendsPayableDateOfRecordDayMonthAndYear' xlink:label='us-gaap_DividendsPayableDateOfRecordDayMonthAndYear'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DividendsPayableDateOfRecordDayMonthAndYear' use='optional' order='5.0'/>
	</link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>13
<FILENAME>g288627crmlogo.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 g288627crmlogo.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_VP!#  $! 0$! 0$! 0$! 0$! 0$! 0$!
M 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0'_
MVP!# 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$!
M 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0'_P  1" "Q ,0# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
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
M$?\ [ 2_^F_7:\HKU?X??\BS\1_^P$O_ *;]=K^P/H(?\I,\+_\ 9O\ Q_\
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
M@Y$DH9YAJ:6L*.8*-TVY-0P^):M;?EP]1W3;E0M%^_)>BT445_T 'Y6%%%%
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
M6NZ^)7_([:U_W#?_ $TV%<+7^+?TLO\ E*?Z2_\ VD!XR_\ KQ>(S_/7(O\
MD1Y-_P!BK+O_ %$HA1117\_GJA1110 4444 >Z?!;_F9?^X-_P"Y6O=*\:^#
M5EY>F:UJ/FY^U7]O9>3LQY?]GVYG\WS-YW^=_:6S9L7R_)W;W\S$?LM?]B'[
M,K*L?D_T&_ ?"9C0^K8BME_&^:TZ?M:-;FP&>>)O&N=Y57YZ%2K!?6LLS#!X
MGV4I*M0]M['$TZ.(IU:4/Y_XSG&IQ-FDH.Z4\-!NS7O4L%AJ<UJD_=G"4;[.
MUTVFFRBBBO[P/EPKR_XF^$Y]=T^#4=-M_/U33-X>*,()[O3W!>2*,")I;F>V
ME59K6W\Y!LEO5ACFN9XHW]0HK\G\<?!OA'Q_\+.+_"7CBGB/[ XNR^.%J8O
M^PCF64X_"XFCC\JSK*ZF)HXBC3S#*LRPV&QN'=6C5HU72>'Q%.KAJU:E/NRS
M,,1E6.P^/PS7M</-R497Y*D9)PJ4YI--PJ0E*+LTU>\6I)-?"]%?2OC#X9VF
MN2SZGI$D>GZM/)&\T<I*Z;=L6;[1/(L4,DUO=RAED>:(21321'S;?S[F:\'D
MG_"M?&W_ $!?_*CI/_R?7_)WXX?L[_I2^#7&>*X;P7A=QIXIY%5J8NMP_P 9
M>&'".?\ %^5YKE=+$SHX:OF6$R'!YKB^&,TJTO9U,1DV<<E2G4E46 Q6:8.G
M''U?W7+>+<DS'#1K2QN&P-5**JX?&XBEAYTYN-VH2JRA&M!.ZC4IW35N:,)-
MP7"T5W7_  K7QM_T!?\ RHZ3_P#)]'_"M?&W_0%_\J.D_P#R?7XW_P 2F_2G
M_P"D:/I ?^*:\1?_ *'#T/[=R3_H<Y5_X<<)_P#+CA:*[K_A6OC;_H"_^5'2
M?_D^C_A6OC;_ * O_E1TG_Y/H_XE-^E/_P!(T?2 _P#%->(O_P!#@?V[DG_0
MYRK_ ,..$_\ EQPM?)'_  46_P"2V^%O^R6:)_ZEOC>OO6+X9>-))8XWTJ.!
M'D1&GEU#33%"K,%:6007<TQCC!+N(8992H(CC=\*?@K_ (*+?\EM\+?]DLT3
M_P!2WQO7^C7T,_"'Q6\+? [Z35;Q,\->//#N'$'$W@+2R./'/"6>\)U<WEDU
M;Q1GFCRZAGV P%?&4\ LWRU8FM0ISI4Y8RC!SYVXK]*\$\?@<;XO<.K!8S"X
MMTL@XJ=7ZM7I5U3]I1RWDYW2E-1<O9SY4VF^5NUCX&HHHK]&/[["OJ;]BK_D
MYGX:?]SE_P"J_P#%5?+-?4W[%7_)S/PT_P"YR_\ 5?\ BJOT3PA_Y.SX7_\
M9Q."?_6ERP^$\4O^39>(W_9"<7?^L_F!^HGQ*_Y';6O^X;_Z:;"N%KT7XHV-
MW;>+;V\GMY([748[22RG(!BN%MK"TM;@(ZD@20S1E9(FVRHK12,@BGA>3SJO
M\9_I@9=F&5_2N^DGALSP.,R[$U?'3Q4S&GA\=AJ^$KU,OS?C;.LVRG'0I8B%
M.I/!YIE6-P>9Y=B8Q=#&Y?B\-C,-.KAJ]*I/_//A^<)Y%D\H2C-++,#!N,E)
M*=/#4Z=2+:;2E"<90G'>,XRC))IH****_G,]<***])T[X5^)]1M4NM^DVD<N
MUH!/?B?SX'C22.YAETR'4+9X)5?]VWGAVVEM@C:-W_4/"[P4\6?&O,LPRGPH
M\/N*./,=E.'I8K-H</996QE#*J&(=6.%J9GC;0P.7_7)8?$0P4<9B:,\9.A7
MAA8U94:BCQ8W,L!EL(5,=BZ&%C4;C3]M-1<VK<RA'64^6Z<G%-133E9-'FU:
MVBZ)J'B#4(=-TV'S9Y<L[L2L%M I427-S(%;RH(MR[FVL[NR0PI+/+%$_KVF
M?!K_ %$FL:U_ST^TVFF6_P#UT6'R-0NC_P!<I)/,TS_GI O\-Q7KVDZ%I&A0
M&WTFP@LHWQYC1AGGFVO*Z?:+F5I+FX\MII!%Y\LGDHYCBV1@*/\ 3#Z-G[(7
MQQXZXARK./'RAA_";P]P^(P6,S'*(YQE6;>('$>7U*5+&?4\JP62U\VRSASZ
MQ!SP..Q?$F-PN<9-B)<T>&,PE3G"G\;G''V686C.GE;>/Q;4HPJ>SJ4\+1FF
MX\U2514YUK/WHQHQE3J)6]M"Z;-"TF#0M(L-)MSOCLH!&TF'7SIW9I;FXV/+
M,T?VBYDEG\H2.D/F>5&1&B@:U%%?]-'#W#^3<)Y!D?"W#F78?*.'N&LGRSA_
M(<IPD91PF5Y-DV"H9=E>78:,Y3E'#X+ X:AAJ,92E)4Z44Y2=V_QJK5J5ZM6
MO6FZE6M4G5JU):RG4J2<YSD^\I-R?FPHHHKV#,**** "BBB@ HHHH **** "
MOQ@_X*+?\EM\+?\ 9+-$_P#4M\;U^S]?C!_P46_Y+;X6_P"R6:)_ZEOC>OY5
M^F3_ ,F4QW_91</_ /J15/Z4^BA_R=W!_P#8ASO_ -,TCX&HHHK_ ")/]1 K
MZF_8J_Y.9^&G_<Y?^J_\55\LU]3?L5?\G,_#3_N<O_5?^*J_1/"'_D[/A?\
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
M_P!K']EC]J#_ (2G_AFC]I;]G_\ :(_X0?\ L3_A-?\ A1?QD^'7Q;_X0_\
MX2;^U_\ A&_^$I_X0#Q'X@_X1_\ X2#_ (1_7O[$_M;[)_:O]B:O]@^T?V;>
M>3O_ !K_ &A?@%^S7X5T_P =?M&?''X/_ 'P3JWB"U\)Z7XQ^-?Q+\%_"OPK
MJ7BJ^T[5=8L?#.G^(?'6M:#I%YX@O-(T+7-4M=&M[R34;C3M&U6^AMGMM.O)
M8?Y8O^"DW_!M[\4[_P#;)_9Y_;I_X(@^*/V?_P!@#XV^ ?[3O/B1I\NM^(_A
M1\++7Q'X=L?#NA?#_P 1_"GX6_##X&?$KPE8?\)CX2NO''@S]H#P5JECIGPL
M^)7AQ-%BUGP!KFI^-?B]J?C'Z_\ VUO^"&/PL_:@_P""G^@?\%4_VY_VHOA_
MXX_92_9W^'^E?\8E?%GX)>'/#/PL\'_"SX2> /%?B7_BY?QY_P"%N>'],\0?
M#_P_\;?$'B[]HGQE_P +1^'FM^'-5\.7>I?"/QM_:7PLM_(A /V?^"G[;O[%
M_P"TIXJU#P+^SG^UW^S!\?O&VD^'[KQ9JG@[X*?'WX4_%3Q5IOA6QU'2M'OO
M$VH>'O OBS7M7L_#]GJ^NZ'I=UK-Q9QZ=;ZCK.E6,URESJ-G%-Z_\4OBQ\+/
M@=X$UWXI?&OXE_#_ .#_ ,,O"_\ 9G_"3?$7XI>,O#GP_P# GAW^V]8T_P .
MZ-_;OB[Q9J6D>'](_M?Q!J^E:%IG]H:A;_;]8U/3],M?-O;VV@E_S!/^#E[X
MI?\ !*CP_P#M'?LB>)O^"0&N_L_^!/C;\%_^$VG^-GC;]A;3)/ASX$\/ZQH]
MU\'_ (D_LU>+O!GCGX1:?X?^"7B#X@>']3\0?$RYE^(OP;UG6/'?A_6-*L?"
M?Q#\16.I^!/".A^'_P!/_P#@K)_QMK_X.?OV1/\ @E9\8O\ BG_V9?V7_P"S
MO[7T#_D*_P#"S_\ A(/@#I7[:WQT_P")KX6_X5O\0/!7_"Y?A_X1^'W[.W^B
M_$/Q!_PKO_A#_P#A;G@_R=:\0:WX4N0#^SWP[_P4)_8%\7^!/B+\4O"?[</[
M('BCX9?!_P#X1'_A;?Q%\._M+?!?6_ GPN_X6!K$_AWP%_PL7Q=IOC6Y\/\
M@G_A-O$%M<Z%X1_X2;4-,_X236+>?3-&^VWL4D"^_P#PM^+'PL^./@30OBE\
M%/B7\/\ XP?#+Q1_:?\ PC/Q%^%OC+PY\0/ GB+^Q-8U#P[K/]A>+O">I:OX
M?U?^R/$&D:KH6I_V?J%Q]@UC3-0TRZ\J]LKF"+^2+_@YW_X):_LC_"W_ ()7
M_%?]I']ECX-?!_\ 9"\;?!3Q!\,+7X@Q?LY?"S1/A#IW[0OP:^)WQI^%G@[5
MO@I\5='^%E[X"\+>+/#^E_%9_@U\=O#>J_$'PS\1)_"GBKX+6%EX/T_PY<^+
M]:\0VW\P6H?'[XR_M#_L(?\ ! '_ ((G>#OB%X@^"WP;_:K\0>)/$WQH\8:-
M-!K^G>.]1^.W_!53]HOX'_"ZV\6>!(+?PMJ^O>'_ (!ZO\//$/Q-MO"<OQ-M
M?"OQ%\5>*?#-]K&C:'XD^%/@GQ;  ?Z7?BS_ (*;?\$V_ 7BKQ-X%\=?\%!O
MV(/!?C;P7X@UGPGXQ\'>+/VK_@-X<\5>$_%7AS4;G1_$/AGQ-X>UCQ]9ZOH/
MB#0M7L[S2]9T;5+.UU'2]1M;FQOK:"Y@EB7[?K\8?@#_ ,$"_P#@ES\)/V1_
MA[^RYX]_8S_9@^-6KZ#\'X?AQ\2OCMXF^!OAFS^,OQ/\5:SHEQ:_$;XG6WQ/
MO[SQ/\9/AYX@\5>)-4U[Q)X37PO\6#J/P=@O-&\.?#+Q!H.D>#_#"Z;^ /\
MP:P_'[XR_L\?MT_\%&/^")WC'XA>(/C3\&_V5/$'QU\3?!?QAK,T&@:=X$U'
MX$_M(VWP/^*-MX3\"3V_BG5]!\/_ !\U?XA^'OB;<^$XOB;=>%?AUXJ\+>)K
M[1]&USQ)\5O&WBV< _N<K\0?^#CSXL?%/X'?\$8_VR?BE\%/B7\0/@_\3?"_
M_#//_",_$7X6^,O$?P_\=^'?[;_:K^!OAW6?["\7>$]2TCQ!I']K^']7U70M
M3_L_4+?[?H^IZAIEUYME>W,$O[?5^ /_  ='?\H*/VYO^[9O_6P_V?: /S _
MX(S_ /!.#XI_\%$O^";'[.'[8OQK_P""Q/\ P6^\+_$WXP?\+@_X2;0OA;_P
M4'\1Z)X$L?\ A7_QZ^*/PMT;^PM,\6>!O&WB"V^T^'_!.E7FI_VAXGU/SM8N
M-0N+7[%92VVGVG@'_!6;2/\ @JO_ ,&\VC^"/VO?V8O^"KG[0'[5G[,OQ9_:
M ^&GPM\3? /]OJYC_:/\=Z5K&@^!/$_Q!T;0C\0_%EK?_:OA_P#$K_A#OC!9
M?$?4_@O%^R[X[T31[OX::#!J'C_6M+MOB%X+] _X(*_ME_\ !6'X4?\ !)[]
ME/P!^S1_P1?_ .&LO@EH'_"\_P#A"OV@/^'BW[-OP(_X3[^U/VD_C%K7B/\
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
M.GC&+0OV@[SQ!>2:%?-X3\)V?PPG\5>/8)]&NO NC>([;Q'X>FU3]7Z^ /\
MAT[_ ,$LO^D:?[ '_B&_[.O_ ,[F@#^*+]GKXU^%?VE/^#S'X'_M%^!=/\0:
M3X)^/WP?^&GQK\':7XLM=.L?%6F^%?BI_P $1=%\=>'M/\36.CZKKVD6?B"S
MTC7;.WUFUTO7-9TZWU&.YAL=5U&V2*\F_I>_X.CO^4%'[<W_ ';-_P"MA_L^
MU^O_ /PR=^RQ_P +V_X:C_X9I_9__P"&FO\ HXO_ (4W\.O^%[?\B=_PKO\
MY*[_ ,(Y_P + _Y)_P#\4-_R,/\ R)W_ !3/_(%_T&N_^*7PG^%GQQ\":[\+
M?C7\-/A_\8/AEXH_LS_A)OAU\4O!OASX@>!/$7]B:QI_B+1O[=\(^+--U?P_
MJ_\ 9'B#2-*UW3/[0T^X^P:QIFGZG:^5>V5M/$ ?Y(O_  4/_P"4%'_!NK_W
MER_];#\$U^[W_!!_Q9X5_P""!7_!4;]OW_@G%^W_ .)O#_P-\-_'#P_X/\6?
M G]J3XUZSIWPD^&?Q2\*_ 7Q-\6$^&'B;3[JZN?%/P[T'P_\?/AW\0_&?BFU
MUGQ!\8['3OA[\0OA=JO[/FK7.O?&356\-Z-_:[XB_P"">W[ OB_P)\.OA;XL
M_8>_9 \4?#+X/_\ "7?\*D^'7B+]FGX+ZWX$^%W_  L#6(/$7CW_ (5UX1U+
MP5<^'_!/_";>(+:VUWQ=_P (SI^F?\))K%O!J>L_;;V*.=?7_C7^SU\ OVE/
M"NG^!?VC/@=\'_C]X)TGQ!:^+-+\'?&OX:>"_BIX5TWQ58Z=JNCV/B;3_#WC
MK1=>TBS\06>D:[KFEVNLV]G'J-OIVLZK8PW*6VHWD4P!_+%_P4F_X.0OBG8?
MMD_L\_L+?\$0?"_[/_[?_P ;?'W]IV?Q(U"71/$?Q7^%EUXC\16/AW7?A_X<
M^%/Q2^&'QS^&OA*__P"$.\)6OCCQG^T!XUU2^U/X6?#7PX^BRZSX_P!#U/P5
M\7M,\'?C#H?C_P"#7[3?_!S%^TY\._\ @NW\=_$&G_L^?LS_ !@_:>UG]D/X
M1?M6>*9_AS^S!8:CX>\=>"S\ O"?B#PKXLTO2_A=X5^#_P 0_P!F[PQHOQ7%
MSJ,G@;PK^U%X@\(_#*X^(WB;XNR?$NY\*_%+_0<^!?[)W[+'[+__  E/_#-'
M[-/[/_[._P#PG']B?\)K_P *+^#?PZ^$G_"8?\(S_:__  C?_"4_\(!X<\/_
M /"0?\(__P )!KW]B?VM]K_LK^V]7^P?9_[2O/./CI^R=^RQ^U!_PBW_  TO
M^S3^S_\ M$?\(/\ VW_PA7_"]/@W\.OBW_PA_P#PDW]D?\))_P (M_PG_ASQ
M!_PC_P#PD'_"/Z#_ &W_ &3]D_M7^Q-(^W_:/[-L_) /\Z/_ (.K/C)^R/\
M%[PK^Q+\._\ @GAX!\/ZE^R?^QUX@^/O@#Q1\9_V9/A?HFF_L&:'\9?VE-.^
M$/QAL/@1\+?BS\-;*#X-^(_C!:^&_!>O_%?XF>%O!DDT&FIXWL[B?5-5\8V_
MQ&TCP=]/_P#!1/XL?"S]@;_@Y#_8G_X+26WQ+^'_ .T!^PQ^V1O^P?&3X6^,
MO#GBOP)X2_X03X,Q?L$?M&_V%K7PJU+XO^(/B7_PH/P_J_A/XV:G_8W@S1_^
M$UUC7=0^"'AG/BCPEXD\26/]WO\ PR=^RQ_PHG_AES_AFG]G_P#X9E_Z-T_X
M4W\.O^%$_P#(X_\ "Q/^21?\(Y_PK_\ Y*!_Q7/_ "+W_(X_\5-_R&O].K\
M?^"Q'[+?_!0[X->'/@%/_P $T_@9^S_\<_\ @F7\,O["O/VM/^"/7AS]F;]D
MJR\.?$CPY\/?BGX@_:*\8^(_ &F_$/X.^./[;_X6W]G_ .$1O?!7PG\.O\4_
M"/Q3LO!7Q%^$_@#XF^-?&?B:]\% 'R__ ,'._P#P5*_9'^*7_!*_XK_LW?LL
M?&7X/_M>^-OC7X@^&%U\09?V<OBGHGQ>T[]GKX-?#'XT_"SQCJWQK^*NL?"R
MR\>^%O"?A_5/BLGP:^!/AO2OB#XF^'<_BOQ5\:;"]\'ZAXCN?"&M>'KG^8+4
M/@#\9?V>/V$/^" /_!;'P=\/?$'QI^#?[*GB#Q)X9^-'@_1H8- T[P)J/P)_
MX*J?M%_'#X77/BSQW!<>*=7T'P_\?-7^(?B'X96WBR7X977A7X=>*O"WAFQU
MC6=<\2?%;P3X2G_?[]LG3/B9_P %#_V>/&/_  3<_P""1W_! [XP?\$^](_:
MJ\0?"S5?VP?V@_VL/V-OA[_P3W^'OAWX9_!;XM^!?%?@"ZTG4? U^]M\5/$&
MC>-M6DU[6-/#>-/B%X9^&>F_$2V^%_P4^(NK^,-5\1?#?^IW_@EC^Q3_ ,.[
M?^"??[+W['5SK_\ PE'B#X/_  _G_P"$\UV#5?[;T>^^*?Q \3Z_\4OBU_PB
M.IR>%/!-[<_#^V^)OC;Q99_#K^V?#&F>(X? EOX=M_$WVWQ!%J6H78!\P? '
M_@OI_P $N?BW^R/\/?VH_'O[9G[,'P5U?7O@_#\1_B5\"?$WQR\,WGQE^&'B
MK1M$N+KXC?#&V^&%_9^&/C)\0_$'A7Q)I>O>&_";>%_A.-1^,4%GHWB/X9>'
M]>TCQAX8;4OP!_X-8?@#\9?VA_VZ?^"C'_!;'QC\/?$'P6^#?[5?B#XZ^&?@
MOX/UF&#7].\=ZC\=OVD;;XX?%&Y\)^.Y[CPMJ^O>'_@'J_P\\/?#*Y\61?#*
MU\*_$7Q5XI\36.CZSH?B3X4^-O"4']7OBS_@F3_P3;\>^*O$WCKQU_P3Y_8@
M\:>-O&GB#6?%GC'QCXL_90^ WB/Q5XL\5>(]1N=8\0^)O$WB'6/ -YJ^O>(-
M=U>\O-4UG6=4O+K4=4U&ZN;Z^N9[F>65OM^@ K\ ?^#H[_E!1^W-_P!VS?\
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
@0 4444 %%%% !1110 4444 %%%% !1110 4444 ?_]D!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743639842344">
<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, 2021</div></th>
<th class="th"><div>Mar. 18, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Registrant CIK</a></td>
<td class="text">0000019871<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="top.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="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2021<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="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">000-01227<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="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">CHICAGO RIVET & MACHINE CO<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="top.Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">IL<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="top.Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">36-0904920<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="top.Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">901 Frontenac Road<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="top.Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Naperville<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="top.Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">IL<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="top.Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">60563<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="top.Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">630<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="top.Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">357-8500<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="top.Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, par value $1.00 per share<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="top.Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">CVR<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="top.Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NYSEAMER<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="top.Show.showAR( this, 'defref_dei_EntityWellKnownSeasonedIssuer', window );">Entity 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="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 20,323,420<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="top.Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">966,132<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="top.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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2021<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="top.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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">173<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="top.Show.showAR( this, 'defref_dei_AuditorName', window );">Auditor Name</a></td>
<td class="text">Crowe LLP<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="top.Show.showAR( this, 'defref_dei_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Oak Brook, Illinois<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</p></div>
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>15
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743639951016">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and Cash Equivalents</a></td>
<td class="nump">$ 2,036,954<span></span>
</td>
<td class="nump">$ 2,567,731<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="top.Show.showAR( this, 'defref_us-gaap_CertificatesOfDepositAtCarryingValue', window );">Certificates of Deposit</a></td>
<td class="nump">2,741,000<span></span>
</td>
<td class="nump">4,733,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="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts Receivable - Less allowances of $170,000</a></td>
<td class="nump">5,647,984<span></span>
</td>
<td class="nump">5,163,450<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="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">8,519,780<span></span>
</td>
<td class="nump">5,153,294<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="top.Show.showAR( this, 'defref_us-gaap_PrepaidTaxes', window );">Prepaid Income Taxes</a></td>
<td class="nump">440<span></span>
</td>
<td class="nump">85,940<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="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Other Current Assets</a></td>
<td class="nump">346,236<span></span>
</td>
<td class="nump">383,772<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total Current Assets</a></td>
<td class="nump">19,292,394<span></span>
</td>
<td class="nump">18,087,187<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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, Plant and Equipment, net</a></td>
<td class="nump">12,473,864<span></span>
</td>
<td class="nump">13,150,884<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">Total Assets</a></td>
<td class="nump">31,766,258<span></span>
</td>
<td class="nump">31,238,071<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts Payable</a></td>
<td class="nump">692,635<span></span>
</td>
<td class="nump">466,424<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="top.Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Accrued Wages and Salaries</a></td>
<td class="nump">509,332<span></span>
</td>
<td class="nump">482,008<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="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Other Accrued Expenses</a></td>
<td class="nump">366,418<span></span>
</td>
<td class="nump">322,968<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="top.Show.showAR( this, 'defref_us-gaap_CustomerAdvancesAndDepositsCurrent', window );">Unearned Revenue and Customer Deposits</a></td>
<td class="nump">302,424<span></span>
</td>
<td class="nump">249,498<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total Current Liabilities</a></td>
<td class="nump">1,870,809<span></span>
</td>
<td class="nump">1,520,898<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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesNoncurrent', window );">Deferred Income Taxes, net</a></td>
<td class="nump">926,084<span></span>
</td>
<td class="nump">1,011,084<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total Liabilities</a></td>
<td class="nump">2,796,893<span></span>
</td>
<td class="nump">2,531,982<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Shareholders' Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred Stock, No Par Value, 500,000 Shares Authorized: None Outstanding</a></td>
<td class="nump">0<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="top.Show.showAR( this, 'defref_us-gaap_CommonStockValueOutstanding', window );">Common Stock, $1.00 Par Value, 4,000,000 Shares Authorized: 1,138,096 Shares Issued, 966,132 Shares Outstanding</a></td>
<td class="nump">1,138,096<span></span>
</td>
<td class="nump">1,138,096<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="top.Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional Paid-in Capital</a></td>
<td class="nump">447,134<span></span>
</td>
<td class="nump">447,134<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="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained Earnings</a></td>
<td class="nump">31,306,233<span></span>
</td>
<td class="nump">31,042,957<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="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Treasury Stock, 171,964 Shares at cost</a></td>
<td class="num">(3,922,098)<span></span>
</td>
<td class="num">(3,922,098)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total Shareholders' Equity</a></td>
<td class="nump">28,969,365<span></span>
</td>
<td class="nump">28,706,089<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total Liabilities and Shareholders' Equity</a></td>
<td class="nump">$ 31,766,258<span></span>
</td>
<td class="nump">$ 31,238,071<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6801-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 15: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_CertificatesOfDepositAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A savings certificate entitling the Entity (that is, bearer) to receive interest at an established maturity date, based upon a fixed interest rate.  A certificate of deposit may be issued in any denomination. Certificates of deposit are generally issued by commercial banks and, therefore, insured by the FDIC (up to the prescribed limit).  Certificates of deposit generally restrict holders from withdrawing funds on demand without the incurrence of penalties.  Generally, only certificates of deposit with original maturities of three months or less qualify as cash equivalents. Original maturity means original maturity to the entity holding the investment. As a related example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CertificatesOfDepositAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_CommonStockValueOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of all classes of common stock held by shareholders. May be all or portion of the number of common shares authorized. These shares exclude common shares repurchased by the entity and held as treasury shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValueOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_CustomerAdvancesAndDepositsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The current portion of aggregate prepayments received from customers for goods or services to be provided in the future, as well as the current portion of money or property received from customers that are to be returned upon satisfactory contract completion or as partial prepayment for goods or services to be provided in the future.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CustomerAdvancesAndDepositsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences, with jurisdictional netting and classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31958-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 20: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_OtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.8)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6787-107765<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6387103&amp;loc=d3e6435-108320<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 05<br> -Paragraph 5<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123349782&amp;loc=d3e5879-108316<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (g)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=6405834&amp;loc=d3e23315-112656<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743639935896">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets - Parenthetical - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Accounts Receivable, Allowance for Credit Loss, Current</a></td>
<td class="nump">$ 170,000<span></span>
</td>
<td class="nump">$ 170,000<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="top.Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred Stock, Par or Stated Value Per Share</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<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="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred Stock, Shares Authorized</a></td>
<td class="nump">500,000<span></span>
</td>
<td class="nump">500,000<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="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred Stock, Shares Outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common Stock, Par or Stated Value Per Share</a></td>
<td class="nump">$ 1.00<span></span>
</td>
<td class="nump">$ 1.00<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="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common Stock, Shares Authorized</a></td>
<td class="nump">4,000,000<span></span>
</td>
<td class="nump">4,000,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="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common Stock, Shares, Issued</a></td>
<td class="nump">1,138,096<span></span>
</td>
<td class="nump">1,138,096<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="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common Stock, Shares, Outstanding</a></td>
<td class="nump">966,132<span></span>
</td>
<td class="nump">966,132<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_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="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_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-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_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>17
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743639918744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Income - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>Consolidated Statements of Income</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net Sales</a></td>
<td class="nump">$ 33,974,558<span></span>
</td>
<td class="nump">$ 27,590,653<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="top.Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of Goods Sold</a></td>
<td class="nump">27,509,466<span></span>
</td>
<td class="nump">22,675,451<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross Profit</a></td>
<td class="nump">6,465,092<span></span>
</td>
<td class="nump">4,915,202<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="top.Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling and Administrative Expenses</a></td>
<td class="nump">5,106,177<span></span>
</td>
<td class="nump">4,998,216<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating Profit (Loss)</a></td>
<td class="nump">1,358,915<span></span>
</td>
<td class="num">(83,014)<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="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other Income</a></td>
<td class="nump">55,557<span></span>
</td>
<td class="nump">148,464<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic', window );">Income Before Income Taxes</a></td>
<td class="nump">1,414,472<span></span>
</td>
<td class="nump">65,450<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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for Income Taxes</a></td>
<td class="nump">301,000<span></span>
</td>
<td class="nump">15,000<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income</a></td>
<td class="nump">$ 1,113,472<span></span>
</td>
<td class="nump">$ 50,450<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="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsPerBasicAndDilutedShare', window );">Net Income Per Share</a></td>
<td class="nump">$ 1.15<span></span>
</td>
<td class="nump">$ 0.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_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate cost of goods produced and sold and services rendered during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_IncomeLossFromContinuingOperationsPerBasicAndDilutedShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) from continuing operations per each basic and diluted share of common stock or unit when the per share amount is the same for both basic and diluted shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsPerBasicAndDilutedShare</td>
</tr>
<tr>
<td style="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_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9038-108599<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9054-108599<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743635099208">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Statements of Shareholders' Equity - USD ($)<br></strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Preferred Stock</div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Retained Earnings</div></th>
<th class="th"><div>Treasury Stock</div></th>
</tr>
<tr class="rc">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning Balance at Dec. 31, 2019</a></td>
<td class="nump">$ 29,158,027<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 1,138,096<span></span>
</td>
<td class="nump">$ 447,134<span></span>
</td>
<td class="nump">$ 31,494,895<span></span>
</td>
<td class="num">$ (3,922,098)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common Stock Shares at Dec. 31, 2019</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">966,132<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="rc">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockShares', window );">Treasury Stock Shares at Dec. 31, 2019</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">171,964<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="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income</a></td>
<td class="nump">50,450<span></span>
</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">50,450<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="top.Show.showAR( this, 'defref_us-gaap_Dividends', window );">Dividends Declared</a></td>
<td class="num">(502,388)<span></span>
</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">(502,388)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending Balance at Dec. 31, 2020</a></td>
<td class="nump">$ 28,706,089<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 1,138,096<span></span>
</td>
<td class="nump">447,134<span></span>
</td>
<td class="nump">31,042,957<span></span>
</td>
<td class="num">$ (3,922,098)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common Stock Shares at Dec. 31, 2020</a></td>
<td class="nump">966,132<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">966,132<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="rc">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockShares', window );">Treasury Stock Shares at Dec. 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">171,964<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="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income</a></td>
<td class="nump">$ 1,113,472<span></span>
</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,113,472<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="top.Show.showAR( this, 'defref_us-gaap_Dividends', window );">Dividends Declared</a></td>
<td class="num">(850,196)<span></span>
</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">(850,196)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending Balance at Dec. 31, 2021</a></td>
<td class="nump">$ 28,969,365<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 1,138,096<span></span>
</td>
<td class="nump">$ 447,134<span></span>
</td>
<td class="nump">$ 31,306,233<span></span>
</td>
<td class="num">$ (3,922,098)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common Stock Shares at Dec. 31, 2021</a></td>
<td class="nump">966,132<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">966,132<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="rc">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockShares', window );">Treasury Stock Shares at Dec. 31, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">171,964<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_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_Dividends">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of paid and unpaid cash, stock, and paid-in-kind (PIK) dividends declared, for example, but not limited to, common and preferred stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 405<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6957935&amp;loc=d3e64057-112817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Dividends</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_TreasuryStockShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643604472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Shareholders' Equity - Parenthetical - $ / shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockDividendsPerShareDeclared', window );">Common Stock, Dividends, Per Share, Declared</a></td>
<td class="nump">$ 0.88<span></span>
</td>
<td class="nump">$ 0.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_CommonStockDividendsPerShareDeclared">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate dividends declared during the period for each share of common stock outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsPerShareDeclared</td>
</tr>
<tr>
<td style="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_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>20
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743640054056">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Cash Flows - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash Flows from Operating Activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income</a></td>
<td class="nump">$ 1,113,472<span></span>
</td>
<td class="nump">$ 50,450<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to Reconcile Net Income to Net Cash (Used in) Provided by Operating Activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation and Amortization</a></td>
<td class="nump">1,318,554<span></span>
</td>
<td class="nump">1,347,305<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="top.Show.showAR( this, 'defref_us-gaap_GainLossOnDispositionOfAssets', window );">Loss on the Sale of Equipment</a></td>
<td class="nump">21,564<span></span>
</td>
<td class="nump">0<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="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred Income Taxes</a></td>
<td class="num">(85,000)<span></span>
</td>
<td class="nump">68,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="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in Operating Assets and Liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts Receivable, net</a></td>
<td class="num">(484,534)<span></span>
</td>
<td class="num">(554,136)<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="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories, net</a></td>
<td class="num">(3,366,486)<span></span>
</td>
<td class="num">(202,117)<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="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other Current Assets</a></td>
<td class="nump">123,036<span></span>
</td>
<td class="nump">15,666<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="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts Payable</a></td>
<td class="nump">226,211<span></span>
</td>
<td class="num">(24,156)<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="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities', window );">Accrued Wages and Salaries</a></td>
<td class="nump">27,324<span></span>
</td>
<td class="num">(147,964)<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="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities', window );">Other Accrued Expenses</a></td>
<td class="nump">43,450<span></span>
</td>
<td class="num">(26,101)<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="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits', window );">Unearned Revenue and Customer Deposits</a></td>
<td class="nump">52,926<span></span>
</td>
<td class="nump">96,854<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net Cash (Used in) Provided by Operating Activities</a></td>
<td class="num">(1,009,483)<span></span>
</td>
<td class="nump">623,801<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash Flows from Investing Activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireProductiveAssets', window );">Capital Expenditures</a></td>
<td class="num">(670,898)<span></span>
</td>
<td class="num">(824,136)<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="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Proceeds from the Sale of Equipment</a></td>
<td class="nump">7,800<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="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities', window );">Proceeds from Certificates of Deposit</a></td>
<td class="nump">4,484,000<span></span>
</td>
<td class="nump">6,574,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="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireHeldToMaturitySecurities', window );">Purchases of Certificates of Deposit</a></td>
<td class="num">(2,492,000)<span></span>
</td>
<td class="num">(4,733,000)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net Cash Provided by Investing Activities</a></td>
<td class="nump">1,328,902<span></span>
</td>
<td class="nump">1,016,864<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash Flows from Financing Activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfDividendsCommonStock', window );">Cash Dividends Paid</a></td>
<td class="num">(850,196)<span></span>
</td>
<td class="num">(502,388)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net Cash Used in Financing Activities</a></td>
<td class="num">(850,196)<span></span>
</td>
<td class="num">(502,388)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease', window );">Net (Decrease) Increase in Cash and Cash Equivalents</a></td>
<td class="num">(530,777)<span></span>
</td>
<td class="nump">1,138,277<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract', window );"><strong>Cash and Cash Equivalents</strong></a></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="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Beginning of Year</a></td>
<td class="nump">2,567,731<span></span>
</td>
<td class="nump">1,429,454<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="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">End of Year</a></td>
<td class="nump">2,036,954<span></span>
</td>
<td class="nump">2,567,731<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNetAbstract', window );"><strong>Net Cash Paid (Refunds Received) for Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaid', window );">Net Cash Piad for Income Taxes</a></td>
<td class="nump">$ 300,500<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="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIncomeTaxRefunds', window );">Refunds Received for Income Taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (25,246)<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_CashAndCashEquivalentsAtCarryingValueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract</td>
</tr>
<tr>
<td style="padding-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_CashAndCashEquivalentsPeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash and cash equivalents. Cash and cash equivalents are the 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. Includes effect from exchange rate changes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_GainLossOnDispositionOfAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, excluding oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=123351718&amp;loc=d3e2443-110228<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnDispositionOfAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncomeTaxesPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4297-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_IncomeTaxesPaidNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNetAbstract</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_IncreaseDecreaseInCustomerAdvancesAndDeposits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amount of (a) prepayments by customers for goods or services to be provided at a later date, (b) the amount of customer money held in customer accounts, including security deposits, collateral for a current or future transactions, initial payment of the cost of acquisition or for the right to enter into a contract or agreement, or (c) a combination of (a) and (b).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInEmployeeRelatedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in other expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInOtherOperatingAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDividendsCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDividendsCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PaymentsToAcquireHeldToMaturitySecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow through purchase of long-term held-to-maturity securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3213-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26853-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireHeldToMaturitySecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PaymentsToAcquireProductiveAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for purchases of and capital improvements on property, plant and equipment (capital expenditures), software, and other intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3213-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 50<br> -Section 30<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123362884&amp;loc=d3e9212-128498<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 50<br> -Section 30<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123362884&amp;loc=d3e9215-128498<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 50<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123385561&amp;loc=d3e9135-128495<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireProductiveAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProceedsFromIncomeTaxRefunds">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of cash received during the period as refunds for the overpayment of taxes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4297-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIncomeTaxRefunds</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the maturity, prepayments and calls (requests for early payments) of debt securities designated as held-to-maturity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3179-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26853-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643477976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>1 - Nature of Business and Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock', window );">1 - Nature of Business and Significant Accounting Policies</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>1 - Nature of Business and Significant Accounting Policies</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Nature of Business-</b>The Company operates in the fastener industry and is in the business of producing and selling rivets, cold-formed fasteners and parts, screw machine products, automatic rivet setting machines and parts and tools for such machines.</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>A summary of the Company&#8217;s significant accounting policies follows:</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Principles of Consolidation-</b>The consolidated financial statements include the accounts of Chicago Rivet &amp; Machine Co. and its wholly-owned subsidiary, H &amp; L Tool Company, Inc. (&#8220;H &amp; L Tool&#8221;). &#160;All significant intercompany accounts and transactions have been eliminated.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Revenue Recognition-</b> Revenue is recognized when control of the promised goods or services is transferred to our customers, generally upon shipment of goods or completion of services, in an amount that reflects the consideration we expect to receive in exchange for those goods or services. &#160;Sales taxes we may collect concurrent with revenue producing activities are excluded from revenue. &#160;Revenue is recognized net of certain sales adjustments to arrive at net sales as reported on the statement of income. &#160;These adjustments primarily relate to customer returns and allowances, which vary over time. &#160;The Company records a liability and reduction in sales for estimated product returns based upon historical experience. &#160;If we determine that our obligation under warranty claims is probable and subject to reasonable determination, an estimate of that liability is recorded as an offset against revenue at that time. &#160;As of December 31, 2021 and 2020, reserves for warranty claims were not material. &#160;Cash received by the Company prior to shipment is recorded as unearned revenue. &#160;In 2021 and 2020 the Company recognized revenue from such payments of $248,799 and $151,944, respectively, that was included in the unearned revenue balance at the beginning of the period. &#160;Shipping and handling fees billed to customers are recognized in net sales, and related costs as cost of sales, when incurred.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Credit Risk-</b>The Company extends credit on the basis of terms that are customary within our markets to various companies doing business primarily in the automotive industry. &#160;The Company has a concentration of credit risk primarily within the automotive industry and in the Midwestern United States. &#160;The Company has established an allowance for accounts that may become uncollectible in the future. &#160;This estimated allowance is based primarily on management's evaluation of the financial condition of the customer and historical experience. &#160;The Company monitors its accounts receivable and charges to expense an amount equal to its estimate of potential credit losses. &#160;The Company considers a number of factors in determining its estimates, including the length of time its trade accounts receivable are past due, the Company's previous loss history and the customer's current ability to pay its obligation. &#160;Accounts receivable balances are charged off against the allowance when it is determined that the receivable will not be recovered.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Cash and Cash Equivalents and Certificates of Deposit-</b>The Company considers all highly liquid investments, including certificates of deposit, with a maturity of three months or less when purchased to be cash equivalents. &#160;Certificates of deposit with an original maturity of greater than three months are separately presented at cost which approximates market value. &#160;The Company maintains cash on deposit in several financial institutions. At times, the account balances may be in excess of Federal Deposit Insurance Corporation insured limits.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Fair Value of Financial Instruments-</b>The carrying amounts reported in the consolidated balance sheets for cash and cash equivalents, certificates of deposit, accounts receivable and accounts payable approximate fair value based on their short-term nature.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Inventories-</b>Inventories are stated at the lower of cost or net realizable value, cost being determined by the first-in, first-out method. &#160;The value of inventories is reduced for estimated excess and obsolete inventories based on a review of on-hand inventories compared to historical and estimated future sales and usage.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Property, Plant and Equipment-</b>Properties are stated at cost and are depreciated over their estimated useful lives using the straight-line method for financial reporting purposes. &#160;Accelerated methods of depreciation are used for income tax purposes. &#160;Direct costs related to developing or obtaining software for internal use are capitalized as property and equipment. &#160;Capitalized software costs are amortized over the software&#8217;s useful life when the software is placed in service. &#160;The estimated useful lives by asset category are:</p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse;width:277pt">
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><i>Asset Category</i></span></p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><i>Estimated Useful Life</i></span></p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Land improvements&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">15 to 40 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Buildings and improvements&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">10 to 40 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Machinery and equipment&#8230;&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">5 to 18 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Capitalized software costs&#8230;&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">3 to 5 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Other equipment&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">3 to 10 years</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company reviews the carrying value of property, plant and equipment for impairment whenever events and circumstances indicate that the carrying value of an asset may not be recoverable from the estimated future cash flows expected to result from its use and eventual disposition. &#160;In cases where undiscounted expected future cash flows are less than the carrying value, an impairment loss is recognized equal to an amount by which the carrying value exceeds the fair value of assets. &#160;There were no triggering events requiring assessment of impairment as of December 31, 2021 and 2020.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">When properties are retired or sold, the related cost and accumulated depreciation are removed from the respective accounts, and any gain or loss on disposition is recognized in current operations. &#160;Maintenance, repairs and minor betterments that do not improve the related asset or extend its useful life are charged to operations as incurred. </p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Income Taxes&#8212;</b>Deferred income taxes are determined under the asset and liability method. &#160;Deferred income taxes arise from temporary differences between the income tax basis of assets and liabilities and their reported amounts in the financial statements. &#160;Deferred taxes are shown on the balance sheet as a net long-term asset or liability.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company applies a comprehensive model for the financial statement recognition, measurement, classification and disclosure of uncertain tax positions.&#160; In the first step of the two-step process, the Company evaluates the tax position for recognition by determining if the weight of available evidence indicates that it is more likely than not that the position will be sustained on audit, including resolution of related appeals or litigation processes, if any.&#160; In the second step, the Company measures the tax benefit as the largest amount that is more than 50% likely of being realized upon settlement.&#160; As of December 31, 2021 and 2020, the Company determined that there are no uncertain tax positions with a more than 50% likelihood of being realized upon settlement.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company classifies interest and penalties related to unrecognized tax benefits as a component of income tax expense. &#160;There were no such expenses in 2021 or 2020.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company&#8217;s federal income tax returns for the 2018 through 2020 tax years are subject to examination by the Internal Revenue Service (&#8220;IRS&#8221;). &#160;While it may be possible that a reduction could occur with respect to the Company&#8217;s unrecognized tax benefits as an outcome of an IRS examination, management does not anticipate any adjustments that would result in a material change to the results of operations or financial condition of the Company.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">No statutes have been extended on any of the Company&#8217;s federal income tax filings. The statute of limitations on the Company&#8217;s 2018, 2019 and 2020 federal income tax returns will expire on September 15, 2022, 2023 and 2024, respectively.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company&#8217;s state income tax returns for the 2018 through 2020 tax years are subject to examination by various state authorities with the latest closing period on October 31, 2024. &#160;The Company is currently not under examination by any state authority for income tax purposes and no statutes for state income tax filings have been extended.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Segment Information-</b>The Company reports segment information based on the internal structure and reporting of the Company&#8217;s operations.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Net Income Per Share-</b> Net income per share of common stock is based on the weighted average number of shares outstanding of 966,132 in 2021 and 2020.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0"><span style="font-family:Arial"><b>Use of Estimates-</b>The preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and the accompanying notes. &#160;Significant items subject to estimates and assumptions include depreciable lives, deferred taxes and valuation allowances for accounts receivable and inventory obsolescence. &#160;Actual results could differ from those estimates.</span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Recent Accounting Pronouncements-</b> In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments&#160;- Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments and in November 2018 issued an amendment, ASU 2018-19, Codification Improvements to Topic 326, Financial Instruments &#8211;&#160;Credit Losses. &#160;ASU 2016-13 amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments, including trade receivables. This may result in the earlier recognition of allowances for losses. ASU 2016-13 and ASU 2018-19 should be applied on either a prospective transition or modified-retrospective approach depending on the subtopic. &#160;ASU 2016-13 is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years, with early adoption permitted. The Company believes that the most notable impact of this ASU relates to its processes around the assessment of the adequacy of its allowance for doubtful accounts on trade accounts receivable and is not expected to have a material impact on our consolidated financial statements.</p> <p style="font:10pt Arial;margin:0;text-align:justify">&#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_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).  Accounting policies describe all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI http://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>22
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643248984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>2 - Balance Sheet Details<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock', window );">2 - Balance Sheet Details</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>2 - Balance Sheet Details</b></p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"/>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2021</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2020</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Inventories:</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Raw materials</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;4,645,923</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;2,245,709</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Work in process</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>2,181,457</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">1,410,868</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Finished goods</p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>2,304,400</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">2,096,717</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>9,131,780</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">5,753,294</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Valuation reserves</p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(612,000)</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(600,000)</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"/>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;8,519,780</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;5,153,294</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"/>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2021</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2020</p> </td></tr>
<tr style="height:13.95pt">
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Property, Plant and Equipment, net:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Land and improvements</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;1,778,819</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;1,636,749</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Buildings and improvements</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>8,456,983</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">8,534,317</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Machinery and equipment</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>35,618,735</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">35,194,944</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Capitalized software and other</p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>1,060,379</b></p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">1,045,027</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:13pt Arial Narrow;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>46,914,916</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">46,411,037</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Accumulated depreciation</p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(34,441,052)</b></p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(33,260,153)</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"/>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;12,473,864</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;13,150,884</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"/>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2021</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2020</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Other Accrued Expenses:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Profit sharing plan contribution</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;145,000</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;120,000</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Property taxes</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>80,269</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">84,570</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">All other items </p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>141,149</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">118,398</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"/>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;366,418</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;322,968</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2021</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2020</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Allowance for Doubtful Accounts:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at beginning of year</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ 170,000</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">$ 140,000</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Charges to statement of income</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>0</b></p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">35,774</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Write-offs</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>0</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">(5,774)</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at end of year</p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ 170,000</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">$ 170,000</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2021</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2020</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Inventory Valuation Reserves:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at beginning of year</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160; 600,000</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160; 457,000</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Charges to statement of income</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>41,308</b></p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">155,058</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Write-offs</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>(29,308)</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">(12,058)</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at end of year</p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160; 612,000</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160;600,000</p> </td></tr> </table> <p style="font:10pt Courier New;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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -URI http://asc.fasb.org/topic&amp;trid=2122208<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>23
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643374664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>3 - Income Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">3 - Income Taxes</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0"><span style="font-family:Arial"><b>3</b><b> - </b><b>Income Taxes&#8212;</b>The provision for income tax expense consists of the following</span><span style="font-family:Arial;color:#833C0B">:</span></p> <p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:151.9pt" valign="top"/>
<td style="background-color:#CEE7FF;width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>20</b><b>21</b></span></p> </td>
<td style="background-color:#CEE7FF;width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2020</span></p> </td></tr>
<tr>
<td style="width:151.9pt" valign="top"><p style="font:10pt Arial;margin:0">Current:</p> </td>
<td style="width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:151.9pt" valign="top"><p style="font:10pt Arial;margin:0">Federal</p> </td>
<td style="background-color:#CEE7FF;width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;378,000</b></p> </td>
<td style="background-color:#CEE7FF;width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;(53,000)</p> </td></tr>
<tr>
<td style="width:151.9pt" valign="top"><p style="font:10pt Arial;margin:0">State</p> </td>
<td style="width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>8,000</b></p> </td>
<td style="width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">0</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:151.9pt" valign="top"><p style="font:10pt Arial;margin:0">Deferred</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>(85,000)</b></p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">68,000</p> </td></tr>
<tr style="height:7.2pt">
<td style="width:151.9pt" valign="top"/>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;301,000</b></p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160; 15,000</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The following is a reconciliation of the statutory federal income tax rate to the actual effective tax rate:</p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>2021</b></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:34.55pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:11.1pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">2020</p> </td>
<td style="background-color:#CEE7FF;width:11.1pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:36.95pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>Amount</b></p> </td>
<td style="width:11.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>%</b></p> </td>
<td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">Amount</p> </td>
<td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">%</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Expected tax at U.S. statutory rate</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0;color:#000000;text-align:right"><b>$ &#160;&#160;&#160;&#160;297,000</b></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:34.55pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>21.0</b></p> </td>
<td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160; 14,000</p> </td>
<td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:36.95pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">21.0</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Permanent differences</p> </td>
<td style="width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>(2,000)</b></p> </td>
<td style="width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:34.55pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>(0.1)</b></p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">1,000</p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:36.95pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">1.9</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">State taxes, net of federal benefit</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>6,000</b></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:34.55pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>0.4</b></p> </td>
<td style="background-color:#CEE7FF;width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:36.95pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">0</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Income tax expense</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;301,000</b></p> </td>
<td style="width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>21.3</b></p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160; 15,000</p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">22.9</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:12pt Arial Narrow;margin:0;color:#339966"><span style="font-family:Arial;color:#000000">The deferred tax assets (liabilities) consist of the following:</span></p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr style="height:18pt">
<td style="background-color:#CEE7FF" valign="bottom"/>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>20</b><b>21</b></span></p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2020</span></p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF" valign="top"><p style="font:10pt Arial;margin:0">Depreciation and amortization</p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;(1,196,119)&#160;&#160;</b></p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;(1,295,804)&#160;&#160;</p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">Inventory</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>157,600&#160;&#160;&#160;</b></p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">175,739&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF" valign="top"><p style="font:10pt Arial;margin:0">Accrued vacation</p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>74,037&#160;&#160;&#160;</b></p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">70,787&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">Allowance for doubtful accounts</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>38,250&#160;&#160;&#160;</b></p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">38,250&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF" valign="top"><p style="font:10pt Arial;margin:0">Other, net</p> </td>
<td style="background-color:#CEE7FF;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>148&#160;&#160;&#160;</b></p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(56)&#160;&#160;</p> </td></tr>
<tr>
<td valign="top"/>
<td style="border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160; &#160;(926,084)&#160;&#160;</b></p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$(1,011,084)&#160;&#160;</p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">Valuation allowances related to deferred taxes are recorded based on the &#8220;more likely than not&#8221; realization criteria. &#160;The Company reviews the need for a valuation allowance on a quarterly basis for each of its tax jurisdictions. &#160;A deferred tax valuation allowance was not required at December 31, 2021 or 2020.</p> <p style="font:10pt Arial;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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32857-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330215-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32705-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6424409&amp;loc=d3e44925-109338<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI http://asc.fasb.org/topic&amp;trid=2144680<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>24
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643399336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>4 - Profit Sharing Plan<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock', window );">4 - Profit Sharing Plan</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>4 - Profit Sharing Plan- </b>The Company has a noncontributory profit sharing plan covering substantially all employees. &#160;Total expenses relating to the profit sharing plan amounted to $145,000 in 2021 and $120,000 in 2020.</p> <p style="font:10pt Arial;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_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of an entity's employee compensation and benefit plans, excluding share-based compensation and including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, life insurance, severance, health care, unemployment and other benefit plans.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 712<br> -URI http://asc.fasb.org/topic&amp;trid=2197446<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -URI http://asc.fasb.org/topic&amp;trid=2235017<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 710<br> -URI http://asc.fasb.org/topic&amp;trid=2127225<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock</td>
</tr>
<tr>
<td style="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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>25
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643455672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>5 - Other Income<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_InterestAndOtherIncomeTextBlock', window );">5 - Other Income</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>5 - Other Income- </b>consists of the following:</p> <p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:159.15pt" valign="top"/>
<td style="background-color:#CEE7FF;width:63.65pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>20</b><b>21</b></span></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:68.55pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2020</span></p> </td></tr>
<tr>
<td style="width:159.15pt" valign="top"><p style="font:10pt Arial;margin:0">Interest income</p> </td>
<td style="width:63.65pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;19,797&#160;&#160;&#160;</b></p> </td>
<td style="width:11.8pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:68.55pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160; 94,956&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:159.15pt" valign="top"><p style="font:10pt Arial;margin:0">Other</p> </td>
<td style="background-color:#CEE7FF;width:63.65pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>35,760&#160;&#160;&#160;</b></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:68.55pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">53,508&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:159.15pt" valign="top"/>
<td style="width:63.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;55,557&#160;&#160;&#160;</b></p> </td>
<td style="width:11.8pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:68.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;148,464&#160;&#160;&#160;</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_InterestAndOtherIncomeTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for interest and other income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 610<br> -URI http://asc.fasb.org/topic&amp;trid=49130413<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestAndOtherIncomeTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643283880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>6 - Segment Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">6 - Segment Information</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>6 - Segment Information- </b>The Company operates in the United States in two business segments as determined by its products. &#160;The fastener segment, which comprises H &amp; L Tool and the parent company&#8217;s fastener operations, includes rivets, cold-formed fasteners and parts and screw machine products. &#160;The assembly equipment segment includes automatic rivet setting machines and parts and tools for such machines. &#160;Information by segment is as follows:</p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse;margin-left:-3.6pt">
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="middle"/>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Fastener</span></p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Assembly Equipment</span></p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Other</span></p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Consolidated</span></p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"><b>Year Ended December 31, 2021:</b></p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0;color:#E36C0A"><span style="color:#000000">Net Sales&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</span></p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;29,831,388</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;4,143,170</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;33,974,558</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Depreciation&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,161,596</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">134,957</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">22,001</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,318,554</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment operating profit&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">2,384,486</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">997,048</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right">0 </p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">3,381,534</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Selling and administrative expenses&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,022,619)</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,022,619)</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Other income&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">55,557</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">55,557</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Income before income taxes&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,414,472</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Capital expenditures&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">493,564</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">177,334</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">670,898</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment assets:</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Accounts receivable, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,302,257</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">345,727</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,647,984</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Inventories, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,214,050</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,305,730</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">8,519,780</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Property, plant and equipment, net&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">9,782,324</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,433,905</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,257,635</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">12,473,864</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Other assets&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,124,630</p> </td>
<td style="width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,124,630</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">31,766,258</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Year Ended December 31, 2020:</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0;color:#E36C0A"><span style="color:#000000">Net Sales&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</span></p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;24,607,863</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;2,982,790</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;27,590,653</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Depreciation&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,182,555</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">131,826</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">32,924</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,347,305</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment operating profit&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,531,933</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">513,250</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right">0 </p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">2,045,183</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Selling and administrative expenses&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,128,197)</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,128,197)</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Other income&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">148,464</p> </td>
<td style="width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">148,4640</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Income before income taxes&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">65,450</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Capital expenditures&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">614,835</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">13,924</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">195,377</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">824,136</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment assets:</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Accounts receivable, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,906,239</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">257,211</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,163,450</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Inventories, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,024,138</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,129,156</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,153,294</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Property, plant and equipment, net&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">10,479,720</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,568,862</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,102,302</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">13,150,884</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Other assets&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,770,443</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,770,443</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">31,238,071</p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company does not allocate certain selling and administrative expenses for internal reporting, thus, no allocation was made for these expenses for segment disclosure purposes. &#160;Segment assets reported internally are limited to accounts receivable, inventory and long-lived assets. &#160;Certain long-lived assets of one plant location are allocated between the two segments based on estimated plant utilization, as this plant serves both fastener and assembly equipment activities. &#160;Other assets are not allocated to segments internally and to do so would be impracticable.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The following table presents revenue by segment, further disaggregated by end-market:</p> <p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Fastener &#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Assembly Equipment &#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Consolidated &#160;</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial"><b>Year Ended December 31, </b><b>2021</b><b>:</b></span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Automotive</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;17,573,104</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;157,652</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;17,730,756</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Non-automotive</span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> 12,258,284</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> 3,985,518</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> 16,243,802</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;29,831,388</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;4,143,170</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;33,974,558</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0">&#160;</p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Year Ended December 31, 2020:</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Automotive</span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;15,612,249</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;136,899</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;15,749,148</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Non-automotive</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> 8,995,614</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> 2,845,891</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> 11,841,505</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;24,607,863</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;2,982,790</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;27,590,653</p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The following table presents revenue by segment, further disaggregated by location:</p> <p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Fastener &#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Assembly Equipment &#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Consolidated &#160;</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial"><b>Year Ended December 31, 20</b><b>21</b><b>:</b></span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">United States</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;24,280,114</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;4,053,102</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;28,333,216</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Foreign</span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">5,551,274</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">90,068</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">5,641,342</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;29,831,388</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;4,143,170</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;33,974,558</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0">&#160;</p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Year Ended December 31, 2020:</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">United States</span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;20,743,296</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;2,804,476</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;23,547,772</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Foreign</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">3,864,567</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">178,314</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">4,042,881</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;24,607,863</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;2,982,790</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;27,590,653</p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">Sales to one customer in the fastener segment accounted for 13% of consolidated revenues during 2021 and 14% in 2020. &#160;The accounts receivable balance for this customer accounted for 16% and 17% of consolidated accounts receivable as of December 31, 2021 and 2020, respectively. &#160;Sales to a second customer in the fastener segment accounted for 11% of consolidated revenues during 2021 and 12% in 2020. &#160;The accounts receivable balance for this customer accounted for 11% and 15% of consolidated accounts receivable as of December 31, 2021 and 2020, respectively. &#160;Sales to a third customer were 12% of consolidated revenue in 2021 and 10% in 2020. The accounts receivable balance for this customer accounted for 18% and 15% of consolidated accounts receivable as of December 31, 2021 and 2020, respectively.</p> <p style="font:10pt Arial;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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 34<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8981-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8721-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9031-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 26<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8844-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9038-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9054-108599<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8657-108599<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8721-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -URI http://asc.fasb.org/topic&amp;trid=2134510<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>27
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643376344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>7 - Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">7 - Commitments and Contingencies</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>7 - Commitments and Contingencies- </b>The Company recorded rent expense aggregating approximately $27,000 and $23,000 in 2021 and 2020, respectively. &#160;Total future minimum rentals at December 31, 2021 are not significant.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company is, from time to time involved in litigation, including environmental claims, in the normal course of business. &#160;While it is not possible at this time to establish the ultimate amount of liability with respect to contingent liabilities, including those related to legal proceedings, management is of the opinion that the aggregate amount of any such liabilities, for which provision has not been made, will not have a material adverse effect on the Company's financial position.</p> <p style="font:10pt Arial;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_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI http://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI http://asc.fasb.org/topic&amp;trid=2144648<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 440<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6491277&amp;loc=d3e6429-115629<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>28
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643416824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>8 - COVID-19<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock', window );">8 - COVID-19</a></td>
<td class="text"><p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <p style="font:10pt Courier New;margin:0"><span style="font-family:Arial"><b>8</b><b> - COVID-19</b><b>-</b><b> </b>In March 2020, the World Health Organization characterized the novel coronavirus (&#8220;COVID-19&#8221;) a pandemic and the President of the United States declared the COVID-19 outbreak a national emergency. &#160;The rapid spread of the virus and the response domestically and internationally to combat it had a significant negative impact on the global economy, including the automotive industry upon which we rely for sales. &#160;Beginning in March 2020, most states issued executive orders which temporarily closed businesses deemed non-essential in an effort to prevent the spread of the coronavirus. &#160;Similar measures also took place in foreign markets we serve. &#160;As a result, our operations and the operations of our customers and suppliers were adversely affected. &#160;Since some of our customers are classified as essential businesses and were allowed to continue to operate during this period, we were able to continue our operations, but at a significantly reduced and less efficient level, in order to service those customers. &#160;Our automotive customers were particularly affected, as much of the sector was idled for an extended period of time during the second quarter of 2020 due to employee safety concerns. &#160;While most shutdown orders were lifted late in that quarter, various work-related restrictions remained in place for some time resulting in widespread economic disruption. &#160;During this period of rapidly changing business conditions and heightened uncertainty resulting from COVID-19, we took measures to reduce expenses and conserve capital, including reduced work schedules, delayed capital expenditures and a reduction in dividend payments. &#160;In the second half of 2020, we experienced improved demand as certain government-imposed restrictions were relaxed and there was further improvement in 2021 as vaccines against the virus became widely available. &#160;The pandemic continues to disrupt and have unpredictable impacts on our operations and the markets we serve, most notably in terms of labor shortages, supply chain disruptions and high inflation. &#160;These factors make the timing and sustainability of any broad economic recovery uncertain and will likely remain tied to the course of the pandemic. &#160;As we cannot predict the duration or scope of the COVID-19 pandemic, or its broader impact on the global economy, including the demand for automobiles, it is unknown what the impact of COVID-19 and its related effects will be on our business, results of operations or financial condition, but the impact could be material and last for an extended period of time.</span></p> <p style="font:10pt Arial;margin:0;color:#000000">&#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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_UnusualOrInfrequentItemsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for an event or transaction that is unusual in nature or infrequent in occurrence, or both.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 20<br> -URI http://asc.fasb.org/subtopic&amp;trid=114868817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643239560">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>9 - Subsequent Events<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfSubsequentEventsTextBlock', window );">9 - Subsequent Events</a></td>
<td class="text"><p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000"><b>9 - Subsequent Events- </b>On February 21, 2022, the Board of Directors declared a regular quarterly dividend of $0.22 per share, or $212,549, payable March 18, 2022 to shareholders of record on March 4, 2022.</p> <p style="font:10pt Arial;margin:0;color:#000000">&#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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ScheduleOfSubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of 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, losses resulting from fire or flood, losses on receivables, significant realized and unrealized gains and losses that result from changes in quoted market prices of securities, declines in market prices of inventory, changes in authorized or issued debt (SEC), significant foreign exchange rate changes, substantial loans to insiders or affiliates, significant long-term investments, and substantial dividends not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6842918&amp;loc=SL6314017-165662<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="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>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743639988568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_ConsolidationPolicyTextBlock', window );">Principles of Consolidation</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Principles of Consolidation-</b>The consolidated financial statements include the accounts of Chicago Rivet &amp; Machine Co. and its wholly-owned subsidiary, H &amp; L Tool Company, Inc. (&#8220;H &amp; L Tool&#8221;). &#160;All significant intercompany accounts and transactions have been eliminated.</p> <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="top.Show.showAR( this, 'defref_us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure', window );">Revenue Recognition</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Revenue Recognition-</b> Revenue is recognized when control of the promised goods or services is transferred to our customers, generally upon shipment of goods or completion of services, in an amount that reflects the consideration we expect to receive in exchange for those goods or services. &#160;Sales taxes we may collect concurrent with revenue producing activities are excluded from revenue. &#160;Revenue is recognized net of certain sales adjustments to arrive at net sales as reported on the statement of income. &#160;These adjustments primarily relate to customer returns and allowances, which vary over time. &#160;The Company records a liability and reduction in sales for estimated product returns based upon historical experience. &#160;If we determine that our obligation under warranty claims is probable and subject to reasonable determination, an estimate of that liability is recorded as an offset against revenue at that time. &#160;As of December 31, 2021 and 2020, reserves for warranty claims were not material. &#160;Cash received by the Company prior to shipment is recorded as unearned revenue. &#160;In 2021 and 2020 the Company recognized revenue from such payments of $248,799 and $151,944, respectively, that was included in the unearned revenue balance at the beginning of the period. &#160;Shipping and handling fees billed to customers are recognized in net sales, and related costs as cost of sales, when incurred.</p> <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="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">Credit Risk</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Credit Risk-</b>The Company extends credit on the basis of terms that are customary within our markets to various companies doing business primarily in the automotive industry. &#160;The Company has a concentration of credit risk primarily within the automotive industry and in the Midwestern United States. &#160;The Company has established an allowance for accounts that may become uncollectible in the future. &#160;This estimated allowance is based primarily on management's evaluation of the financial condition of the customer and historical experience. &#160;The Company monitors its accounts receivable and charges to expense an amount equal to its estimate of potential credit losses. &#160;The Company considers a number of factors in determining its estimates, including the length of time its trade accounts receivable are past due, the Company's previous loss history and the customer's current ability to pay its obligation. &#160;Accounts receivable balances are charged off against the allowance when it is determined that the receivable will not be recovered.</p> <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="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and Cash Equivalents and Certificates of Deposit</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Cash and Cash Equivalents and Certificates of Deposit-</b>The Company considers all highly liquid investments, including certificates of deposit, with a maturity of three months or less when purchased to be cash equivalents. &#160;Certificates of deposit with an original maturity of greater than three months are separately presented at cost which approximates market value. &#160;The Company maintains cash on deposit in several financial institutions. At times, the account balances may be in excess of Federal Deposit Insurance Corporation insured limits.</p> <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="top.Show.showAR( this, 'defref_us-gaap_FairValueOfFinancialInstrumentsPolicy', window );">Fair Value of Financial Instruments</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Fair Value of Financial Instruments-</b>The carrying amounts reported in the consolidated balance sheets for cash and cash equivalents, certificates of deposit, accounts receivable and accounts payable approximate fair value based on their short-term nature.</p> <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="top.Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventories</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Inventories-</b>Inventories are stated at the lower of cost or net realizable value, cost being determined by the first-in, first-out method. &#160;The value of inventories is reduced for estimated excess and obsolete inventories based on a review of on-hand inventories compared to historical and estimated future sales and usage.</p> <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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property, Plant and Equipment</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Property, Plant and Equipment-</b>Properties are stated at cost and are depreciated over their estimated useful lives using the straight-line method for financial reporting purposes. &#160;Accelerated methods of depreciation are used for income tax purposes. &#160;Direct costs related to developing or obtaining software for internal use are capitalized as property and equipment. &#160;Capitalized software costs are amortized over the software&#8217;s useful life when the software is placed in service. &#160;The estimated useful lives by asset category are:</p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse;width:277pt">
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><i>Asset Category</i></span></p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><i>Estimated Useful Life</i></span></p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Land improvements&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">15 to 40 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Buildings and improvements&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">10 to 40 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Machinery and equipment&#8230;&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">5 to 18 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Capitalized software costs&#8230;&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">3 to 5 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Other equipment&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">3 to 10 years</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company reviews the carrying value of property, plant and equipment for impairment whenever events and circumstances indicate that the carrying value of an asset may not be recoverable from the estimated future cash flows expected to result from its use and eventual disposition. &#160;In cases where undiscounted expected future cash flows are less than the carrying value, an impairment loss is recognized equal to an amount by which the carrying value exceeds the fair value of assets. &#160;There were no triggering events requiring assessment of impairment as of December 31, 2021 and 2020.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">When properties are retired or sold, the related cost and accumulated depreciation are removed from the respective accounts, and any gain or loss on disposition is recognized in current operations. &#160;Maintenance, repairs and minor betterments that do not improve the related asset or extend its useful life are charged to operations as incurred. </p> <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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Income Taxes&#8212;</b>Deferred income taxes are determined under the asset and liability method. &#160;Deferred income taxes arise from temporary differences between the income tax basis of assets and liabilities and their reported amounts in the financial statements. &#160;Deferred taxes are shown on the balance sheet as a net long-term asset or liability.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company applies a comprehensive model for the financial statement recognition, measurement, classification and disclosure of uncertain tax positions.&#160; In the first step of the two-step process, the Company evaluates the tax position for recognition by determining if the weight of available evidence indicates that it is more likely than not that the position will be sustained on audit, including resolution of related appeals or litigation processes, if any.&#160; In the second step, the Company measures the tax benefit as the largest amount that is more than 50% likely of being realized upon settlement.&#160; As of December 31, 2021 and 2020, the Company determined that there are no uncertain tax positions with a more than 50% likelihood of being realized upon settlement.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company classifies interest and penalties related to unrecognized tax benefits as a component of income tax expense. &#160;There were no such expenses in 2021 or 2020.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company&#8217;s federal income tax returns for the 2018 through 2020 tax years are subject to examination by the Internal Revenue Service (&#8220;IRS&#8221;). &#160;While it may be possible that a reduction could occur with respect to the Company&#8217;s unrecognized tax benefits as an outcome of an IRS examination, management does not anticipate any adjustments that would result in a material change to the results of operations or financial condition of the Company.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">No statutes have been extended on any of the Company&#8217;s federal income tax filings. The statute of limitations on the Company&#8217;s 2018, 2019 and 2020 federal income tax returns will expire on September 15, 2022, 2023 and 2024, respectively.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company&#8217;s state income tax returns for the 2018 through 2020 tax years are subject to examination by various state authorities with the latest closing period on October 31, 2024. &#160;The Company is currently not under examination by any state authority for income tax purposes and no statutes for state income tax filings have been extended.</p> <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="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingPolicyPolicyTextBlock', window );">Segment Information</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Segment Information-</b>The Company reports segment information based on the internal structure and reporting of the Company&#8217;s operations.</p> <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="top.Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Net Income Per Share</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Net Income Per Share-</b> Net income per share of common stock is based on the weighted average number of shares outstanding of 966,132 in 2021 and 2020.</p> <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="top.Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0"><span style="font-family:Arial"><b>Use of Estimates-</b>The preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and the accompanying notes. &#160;Significant items subject to estimates and assumptions include depreciable lives, deferred taxes and valuation allowances for accounts receivable and inventory obsolescence. &#160;Actual results could differ from those estimates.</span></p> <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="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent Accounting Pronouncements</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Recent Accounting Pronouncements-</b> In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments&#160;- Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments and in November 2018 issued an amendment, ASU 2018-19, Codification Improvements to Topic 326, Financial Instruments &#8211;&#160;Credit Losses. &#160;ASU 2016-13 amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments, including trade receivables. This may result in the earlier recognition of allowances for losses. ASU 2016-13 and ASU 2018-19 should be applied on either a prospective transition or modified-retrospective approach depending on the subtopic. &#160;ASU 2016-13 is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years, with early adoption permitted. The Company believes that the most notable impact of this ASU relates to its processes around the assessment of the adequacy of its allowance for doubtful accounts on trade accounts receivable and is not expected to have a material impact on our consolidated financial statements.</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4273-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123345438&amp;loc=d3e61044-112788<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="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_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123372394&amp;loc=d3e18823-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=d3e5614-111684<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_FairValueOfFinancialInstrumentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the fair value of financial instruments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 60<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=7493716&amp;loc=d3e21868-110260<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13279-108611<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueOfFinancialInstrumentsPolicy</td>
</tr>
<tr>
<td style="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_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e32247-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32847-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32840-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL116659661-227067<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e32280-109318<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4556-108314<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 330<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6471895&amp;loc=d3e55923-109411<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4492-108314<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124437754&amp;loc=d3e543-108305<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI http://asc.fasb.org/topic&amp;trid=2126998<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123372394&amp;loc=d3e18823-107790<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=d3e99779-112916<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.13(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=d3e99893-112916<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for recognizing revenue from a transaction on a gross or net basis.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure</td>
</tr>
<tr>
<td style="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_SegmentReportingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for segment reporting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8864-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8864-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8864-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8864-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8864-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8864-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="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_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6191-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6161-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6143-108592<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6061-108592<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6132-108592<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>31
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643769768">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>2 - Balance Sheet Details: Inventory (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Inventory</a></td>
<td class="text"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"/>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2021</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2020</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Inventories:</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Raw materials</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;4,645,923</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;2,245,709</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Work in process</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>2,181,457</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">1,410,868</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Finished goods</p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>2,304,400</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">2,096,717</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>9,131,780</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">5,753,294</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Valuation reserves</p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(612,000)</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(600,000)</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"/>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;8,519,780</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;5,153,294</p> </td></tr> </table> <p style="font:10pt Courier New;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_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>32
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643399336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>2 - Balance Sheet Details: 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, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Property, Plant and Equipment</a></td>
<td class="text"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"/>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2021</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2020</p> </td></tr>
<tr style="height:13.95pt">
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Property, Plant and Equipment, net:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Land and improvements</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;1,778,819</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;1,636,749</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Buildings and improvements</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>8,456,983</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">8,534,317</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Machinery and equipment</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>35,618,735</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">35,194,944</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Capitalized software and other</p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>1,060,379</b></p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">1,045,027</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:13pt Arial Narrow;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>46,914,916</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">46,411,037</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Accumulated depreciation</p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(34,441,052)</b></p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(33,260,153)</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"/>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;12,473,864</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;13,150,884</p> </td></tr> </table> <p style="font:10pt Courier New;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_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>33
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643765016">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>2 - Balance Sheet Details: Other Accrued Expenses (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Other Accrued Expenses</a></td>
<td class="text"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"/>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2021</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2020</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Other Accrued Expenses:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Profit sharing plan contribution</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;145,000</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;120,000</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Property taxes</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>80,269</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">84,570</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">All other items </p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>141,149</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">118,398</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"/>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;366,418</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;322,968</p> </td></tr> </table> <p style="font:10pt Courier New;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_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>34
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643441944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>2 - Balance Sheet Details: Schedule of Valuation and Qualifying Accounts (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock', window );">Schedule of Valuation and Qualifying Accounts</a></td>
<td class="text"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2021</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2020</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Allowance for Doubtful Accounts:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at beginning of year</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ 170,000</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">$ 140,000</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Charges to statement of income</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>0</b></p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">35,774</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Write-offs</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>0</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">(5,774)</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at end of year</p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ 170,000</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">$ 170,000</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2021</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2020</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Inventory Valuation Reserves:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at beginning of year</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160; 600,000</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160; 457,000</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Charges to statement of income</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>41,308</b></p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">155,058</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Write-offs</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>(29,308)</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">(12,058)</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at end of year</p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160; 612,000</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160;600,000</p> </td></tr> </table> <p style="font:10pt Courier New;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_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-X (SX)<br> -Number 210<br> -Section 12<br> -Subsection 09<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09)<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>35
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643390424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>3 - Income Taxes: Provision for Income Tax Expense (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Provision for Income Tax Expense</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:151.9pt" valign="top"/>
<td style="background-color:#CEE7FF;width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>20</b><b>21</b></span></p> </td>
<td style="background-color:#CEE7FF;width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2020</span></p> </td></tr>
<tr>
<td style="width:151.9pt" valign="top"><p style="font:10pt Arial;margin:0">Current:</p> </td>
<td style="width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:151.9pt" valign="top"><p style="font:10pt Arial;margin:0">Federal</p> </td>
<td style="background-color:#CEE7FF;width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;378,000</b></p> </td>
<td style="background-color:#CEE7FF;width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;(53,000)</p> </td></tr>
<tr>
<td style="width:151.9pt" valign="top"><p style="font:10pt Arial;margin:0">State</p> </td>
<td style="width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>8,000</b></p> </td>
<td style="width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">0</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:151.9pt" valign="top"><p style="font:10pt Arial;margin:0">Deferred</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>(85,000)</b></p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">68,000</p> </td></tr>
<tr style="height:7.2pt">
<td style="width:151.9pt" valign="top"/>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;301,000</b></p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160; 15,000</p> </td></tr> </table> <p style="font:10pt Courier New;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_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>36
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643766136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>3 - 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, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of Effective Income Tax Rate Reconciliation</a></td>
<td class="text"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>2021</b></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:34.55pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:11.1pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">2020</p> </td>
<td style="background-color:#CEE7FF;width:11.1pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:36.95pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>Amount</b></p> </td>
<td style="width:11.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>%</b></p> </td>
<td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">Amount</p> </td>
<td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">%</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Expected tax at U.S. statutory rate</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0;color:#000000;text-align:right"><b>$ &#160;&#160;&#160;&#160;297,000</b></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:34.55pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>21.0</b></p> </td>
<td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160; 14,000</p> </td>
<td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:36.95pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">21.0</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Permanent differences</p> </td>
<td style="width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>(2,000)</b></p> </td>
<td style="width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:34.55pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>(0.1)</b></p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">1,000</p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:36.95pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">1.9</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">State taxes, net of federal benefit</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>6,000</b></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:34.55pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>0.4</b></p> </td>
<td style="background-color:#CEE7FF;width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:36.95pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">0</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Income tax expense</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;301,000</b></p> </td>
<td style="width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right"><b>21.3</b></p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160; 15,000</p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">22.9</p> </td></tr> </table> <p style="font:10pt Courier New;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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>37
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643474680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>3 - 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, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of Deferred Tax Assets and Liabilities</a></td>
<td class="text"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr style="height:18pt">
<td style="background-color:#CEE7FF" valign="bottom"/>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>20</b><b>21</b></span></p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2020</span></p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF" valign="top"><p style="font:10pt Arial;margin:0">Depreciation and amortization</p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;(1,196,119)&#160;&#160;</b></p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;(1,295,804)&#160;&#160;</p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">Inventory</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>157,600&#160;&#160;&#160;</b></p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">175,739&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF" valign="top"><p style="font:10pt Arial;margin:0">Accrued vacation</p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>74,037&#160;&#160;&#160;</b></p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">70,787&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">Allowance for doubtful accounts</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>38,250&#160;&#160;&#160;</b></p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">38,250&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF" valign="top"><p style="font:10pt Arial;margin:0">Other, net</p> </td>
<td style="background-color:#CEE7FF;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>148&#160;&#160;&#160;</b></p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(56)&#160;&#160;</p> </td></tr>
<tr>
<td valign="top"/>
<td style="border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160; &#160;(926,084)&#160;&#160;</b></p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$(1,011,084)&#160;&#160;</p> </td></tr> </table> <p style="font:10pt Arial;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_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>38
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643277864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>5 - Other Income: Other Income (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_InterestAndOtherIncomeTableTextBlock', window );">Other Income</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:159.15pt" valign="top"/>
<td style="background-color:#CEE7FF;width:63.65pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>20</b><b>21</b></span></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:68.55pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2020</span></p> </td></tr>
<tr>
<td style="width:159.15pt" valign="top"><p style="font:10pt Arial;margin:0">Interest income</p> </td>
<td style="width:63.65pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;19,797&#160;&#160;&#160;</b></p> </td>
<td style="width:11.8pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:68.55pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160; 94,956&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:159.15pt" valign="top"><p style="font:10pt Arial;margin:0">Other</p> </td>
<td style="background-color:#CEE7FF;width:63.65pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>35,760&#160;&#160;&#160;</b></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:68.55pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">53,508&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:159.15pt" valign="top"/>
<td style="width:63.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;55,557&#160;&#160;&#160;</b></p> </td>
<td style="width:11.8pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:68.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;148,464&#160;&#160;&#160;</p> </td></tr> </table> <p style="font:10pt Courier New;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_InterestAndOtherIncomeTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of interest income and income classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestAndOtherIncomeTableTextBlock</td>
</tr>
<tr>
<td style="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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>39
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743639811448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>6 - Segment Information: Schedule of Segment Reporting Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock', window );">Schedule of Segment Reporting Information</a></td>
<td class="text"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse;margin-left:-3.6pt">
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="middle"/>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Fastener</span></p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Assembly Equipment</span></p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Other</span></p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Consolidated</span></p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"><b>Year Ended December 31, 2021:</b></p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0;color:#E36C0A"><span style="color:#000000">Net Sales&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</span></p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;29,831,388</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;4,143,170</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;33,974,558</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Depreciation&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,161,596</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">134,957</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">22,001</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,318,554</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment operating profit&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">2,384,486</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">997,048</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right">0 </p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">3,381,534</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Selling and administrative expenses&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,022,619)</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,022,619)</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Other income&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">55,557</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">55,557</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Income before income taxes&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,414,472</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Capital expenditures&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">493,564</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">177,334</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">670,898</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment assets:</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Accounts receivable, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,302,257</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">345,727</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,647,984</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Inventories, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,214,050</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,305,730</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">8,519,780</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Property, plant and equipment, net&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">9,782,324</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,433,905</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,257,635</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">12,473,864</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Other assets&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,124,630</p> </td>
<td style="width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,124,630</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">31,766,258</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Year Ended December 31, 2020:</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0;color:#E36C0A"><span style="color:#000000">Net Sales&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</span></p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;24,607,863</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;2,982,790</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;27,590,653</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Depreciation&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,182,555</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">131,826</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">32,924</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,347,305</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment operating profit&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,531,933</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">513,250</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right">0 </p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">2,045,183</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Selling and administrative expenses&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,128,197)</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,128,197)</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Other income&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">148,464</p> </td>
<td style="width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">148,4640</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Income before income taxes&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">65,450</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Capital expenditures&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">614,835</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">13,924</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">195,377</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">824,136</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment assets:</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Accounts receivable, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,906,239</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">257,211</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,163,450</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Inventories, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,024,138</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,129,156</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,153,294</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Property, plant and equipment, net&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">10,479,720</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,568,862</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,102,302</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">13,150,884</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Other assets&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,770,443</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,770,443</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">31,238,071</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_ScheduleOfSegmentReportingInformationBySegmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8813-108599<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>40
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643622792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>6 - Segment Information: Disaggregation of Revenue (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=fil_LocationMember', window );">Location</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="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Disaggregation of Revenue</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Fastener &#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Assembly Equipment &#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Consolidated &#160;</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial"><b>Year Ended December 31, 20</b><b>21</b><b>:</b></span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">United States</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;24,280,114</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;4,053,102</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;28,333,216</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Foreign</span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">5,551,274</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">90,068</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">5,641,342</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;29,831,388</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;4,143,170</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;33,974,558</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0">&#160;</p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Year Ended December 31, 2020:</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">United States</span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;20,743,296</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;2,804,476</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;23,547,772</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Foreign</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">3,864,567</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">178,314</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">4,042,881</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;24,607,863</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;2,982,790</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;27,590,653</p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</p> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=fil_EndMarketMember', window );">End Market</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="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Disaggregation of Revenue</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Fastener &#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Assembly Equipment &#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Consolidated &#160;</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial"><b>Year Ended December 31, </b><b>2021</b><b>:</b></span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Automotive</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;17,573,104</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;157,652</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;17,730,756</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Non-automotive</span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> 12,258,284</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> 3,985,518</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> 16,243,802</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;29,831,388</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;4,143,170</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;33,974,558</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0">&#160;</p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Year Ended December 31, 2020:</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Automotive</span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;15,612,249</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;136,899</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;15,749,148</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Non-automotive</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> 8,995,614</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> 2,845,891</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> 11,841,505</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;24,607,863</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;2,982,790</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;27,590,653</p> </td></tr> </table> <p style="font:10pt Arial;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_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=fil_LocationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_LocationMember</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_EndMarketMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_EndMarketMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643442904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Deferred Revenue Recognized (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Deferred Revenue Recognized</a></td>
<td class="nump">$ 248,799<span></span>
</td>
<td class="nump">$ 151,944<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_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>42
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743634969736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Estimated Useful Lives by Asset Category (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandImprovementsMember', window );">Land Improvements | Minimum</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="top.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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandImprovementsMember', window );">Land Improvements | Maximum</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="top.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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingImprovementsMember', window );">Building Improvements | Minimum</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="top.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>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingImprovementsMember', window );">Building Improvements | Maximum</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="top.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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and Equipment | Minimum</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and Equipment | Maximum</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">18 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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember', window );">Software and Software Development Costs | Minimum</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="top.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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember', window );">Software and Software Development Costs | Maximum</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember', window );">Other Capitalized Property Plant and Equipment | Minimum</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="top.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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember', window );">Other Capitalized Property Plant and Equipment | Maximum</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="top.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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>duration</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_LandImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_LandImprovementsMember</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_BuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_BuildingImprovementsMember</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_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_MachineryAndEquipmentMember</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_SoftwareAndSoftwareDevelopmentCostsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_SoftwareAndSoftwareDevelopmentCostsMember</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_OtherCapitalizedPropertyPlantAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_OtherCapitalizedPropertyPlantAndEquipmentMember</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>43
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743641809944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Uncertain Tax Positions and Unrecognized Tax Benefits (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilityForUncertainTaxPositionsCurrent', window );">Liability for Uncertain Tax Positions</a></td>
<td class="nump">$ 0<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="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense', window );">Unrecognized Tax Benefits</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_LiabilityForUncertainTaxPositionsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for uncertainty in income taxes classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilityForUncertainTaxPositionsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32718-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>44
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643367224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Weighted Avg. Number of Shares Outstanding (Details) - shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted Average Common Shares Outstanding</a></td>
<td class="nump">966,132<span></span>
</td>
<td class="nump">966,132<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>45
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743635085816">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>2 - Balance Sheet Details: Inventory (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryRawMaterials', window );">Raw materials</a></td>
<td class="nump">$ 4,645,923<span></span>
</td>
<td class="nump">$ 2,245,709<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="top.Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcess', window );">Work in process</a></td>
<td class="nump">2,181,457<span></span>
</td>
<td class="nump">1,410,868<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="top.Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoods', window );">Finished goods</a></td>
<td class="nump">2,304,400<span></span>
</td>
<td class="nump">2,096,717<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="top.Show.showAR( this, 'defref_us-gaap_InventoryValuationReserves', window );">Valuation reserves</a></td>
<td class="num">(612,000)<span></span>
</td>
<td class="num">(600,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="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">$ 8,519,780<span></span>
</td>
<td class="nump">$ 5,153,294<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_InventoryFinishedGoods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_InventoryValuationReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of valuation reserve for inventory.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.BB)<br> -URI http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryValuationReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_InventoryWorkInProcess">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>46
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743634953768">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>2 - Balance Sheet Details: Property, Plant and Equipment (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LandAndLandImprovements', window );">Land and improvements</a></td>
<td class="nump">$ 1,778,819<span></span>
</td>
<td class="nump">$ 1,636,749<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="top.Show.showAR( this, 'defref_us-gaap_BuildingsAndImprovementsGross', window );">Buildings and improvements</a></td>
<td class="nump">8,456,983<span></span>
</td>
<td class="nump">8,534,317<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="top.Show.showAR( this, 'defref_us-gaap_MachineryAndEquipmentGross', window );">Machinery and equipment</a></td>
<td class="nump">35,618,735<span></span>
</td>
<td class="nump">35,194,944<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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentOther', window );">Capitalized software and other</a></td>
<td class="nump">1,060,379<span></span>
</td>
<td class="nump">1,045,027<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="top.Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less: Accumulated Depreciation</a></td>
<td class="num">(34,441,052)<span></span>
</td>
<td class="num">(33,260,153)<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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentOtherNet', window );">Property, Plant and Equipment, Other, Net</a></td>
<td class="nump">$ 12,473,864<span></span>
</td>
<td class="nump">$ 13,150,884<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.14)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6812-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_LandAndLandImprovements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated deprecation and depletion of real estate held for productive use and additions or improvements to real estate held for productive use, examples include, but are not limited to, walkways, driveways, fences, and parking lots. Excludes land held for sale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6812-107765<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LandAndLandImprovements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6812-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_PropertyPlantAndEquipmentOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of other physical assets 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PropertyPlantAndEquipmentOtherNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after depreciation of long-lived, physical assets used to produce goods and services and not intended for resale, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentOtherNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>47
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743642465816">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>2 - Balance Sheet Details: Other Accrued Expenses (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherEmployeeRelatedLiabilitiesCurrent', window );">Profit sharing plan contribution</a></td>
<td class="nump">$ 145,000<span></span>
</td>
<td class="nump">$ 120,000<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="top.Show.showAR( this, 'defref_us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent', window );">Property taxes</a></td>
<td class="nump">80,269<span></span>
</td>
<td class="nump">84,570<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="top.Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">All other items</a></td>
<td class="nump">141,149<span></span>
</td>
<td class="nump">118,398<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="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Other Accrued Expenses</a></td>
<td class="nump">$ 366,418<span></span>
</td>
<td class="nump">$ 322,968<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_AccrualForTaxesOtherThanIncomeTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for real and property taxes. 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 720<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6419918&amp;loc=d3e35281-107843<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e7018-107765<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_OtherEmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligations incurred for employer-related costs classified as other, payable within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherEmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>48
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743639797432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Valuation and Qualifying Accounts (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember', window );">SEC Schedule, 12-09, Allowance, Credit Loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at beginning of year</a></td>
<td class="nump">$ 170,000<span></span>
</td>
<td class="nump">$ 140,000<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="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Charges to statement of income</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">35,774<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="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesDeductions', window );">Write-offs</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(5,774)<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="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at end of year</a></td>
<td class="nump">170,000<span></span>
</td>
<td class="nump">170,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="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_InventoryValuationReserveMember', window );">SEC Schedule, 12-09, Reserve, Inventory</a></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="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at beginning of year</a></td>
<td class="nump">600,000<span></span>
</td>
<td class="nump">457,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="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Charges to statement of income</a></td>
<td class="nump">41,308<span></span>
</td>
<td class="nump">155,058<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="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesDeductions', window );">Write-offs</a></td>
<td class="num">(29,308)<span></span>
</td>
<td class="num">(12,058)<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="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at end of year</a></td>
<td class="nump">$ 612,000<span></span>
</td>
<td class="nump">$ 600,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesBalance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column B))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column E))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesBalance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ValuationAllowancesAndReservesChargedToCostAndExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column C)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ValuationAllowancesAndReservesDeductions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column D))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesDeductions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember</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_ValuationAllowancesAndReservesTypeAxis=us-gaap_InventoryValuationReserveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ValuationAllowancesAndReservesTypeAxis=us-gaap_InventoryValuationReserveMember</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>49
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743640066072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>3 - Income Taxes: Provision for Income Tax Expense (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations', window );">Provision for Federal income tax expense, Current</a></td>
<td class="nump">$ 378,000<span></span>
</td>
<td class="num">$ (53,000)<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="top.Show.showAR( this, 'defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit', window );">Provision for State income tax expense, Current</a></td>
<td class="nump">8,000<span></span>
</td>
<td class="nump">0<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="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Provision for income tax expense, Deferred</a></td>
<td class="num">(85,000)<span></span>
</td>
<td class="nump">68,000<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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for Income Taxes</a></td>
<td class="nump">$ 301,000<span></span>
</td>
<td class="nump">$ 15,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current state and local tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_FederalIncomeTaxExpenseBenefitContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current and deferred federal income tax expense (benefit) attributable to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>50
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743639985784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate', window );">Expected tax at U.S. statutory rate</a></td>
<td class="nump">$ 297,000<span></span>
</td>
<td class="nump">$ 14,000<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="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Expected tax at U.S. statutory rate, %</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationOtherAdjustments', window );">Permanent differences</a></td>
<td class="num">$ (2,000)<span></span>
</td>
<td class="nump">$ 1,000<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="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Permanent differences, %</a></td>
<td class="num">(0.10%)<span></span>
</td>
<td class="nump">1.90%<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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes', window );">State taxes, net of federal benefit</a></td>
<td class="nump">$ 6,000<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="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State taxes, net of federal benefit, %</a></td>
<td class="nump">0.40%<span></span>
</td>
<td class="nump">0.00%<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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="nump">$ 301,000<span></span>
</td>
<td class="nump">$ 15,000<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="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Income tax expense, %</a></td>
<td class="nump">21.30%<span></span>
</td>
<td class="nump">22.90%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage 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 applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="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_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>51
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743634993768">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment', window );">Depreciation and amortization</a></td>
<td class="num">$ (1,196,119)<span></span>
</td>
<td class="num">$ (1,295,804)<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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsInventory', window );">Inventory</a></td>
<td class="nump">157,600<span></span>
</td>
<td class="nump">175,739<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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences', window );">Accrued vacation</a></td>
<td class="nump">74,037<span></span>
</td>
<td class="nump">70,787<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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts', window );">Allowance for doubtful accounts</a></td>
<td class="nump">38,250<span></span>
</td>
<td class="nump">38,250<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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOther', window );">Other, net</a></td>
<td class="nump">148<span></span>
</td>
<td class="num">(56)<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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsLiabilitiesNet', window );">Deferred Tax Assets and Liabilities</a></td>
<td class="num">$ (926,084)<span></span>
</td>
<td class="num">$ (1,011,084)<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_DeferredTaxAssetsInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_DeferredTaxAssetsLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from compensated absences (includes, but not limited to, sick and personal days).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_DeferredTaxLiabilitiesPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>52
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643399896">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Other Income Tax Disclosures (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Deferred tax assets valuation allowance</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_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>53
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643302120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Profit Sharing Plan (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount', window );">Defined Contribution Plan, Employer Discretionary Contribution Amount</a></td>
<td class="nump">$ 145,000<span></span>
</td>
<td class="nump">$ 120,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>54
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643508984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>5 - Other Income: Other Income (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentIncomeInterest', window );">Interest income</a></td>
<td class="nump">$ 19,797<span></span>
</td>
<td class="nump">$ 94,956<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="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncome', window );">Other nonoperating income</a></td>
<td class="nump">35,760<span></span>
</td>
<td class="nump">53,508<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="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other Income</a></td>
<td class="nump">$ 55,557<span></span>
</td>
<td class="nump">$ 148,464<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_InvestmentIncomeInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherNonoperatingIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>55
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743635931224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>6 - Segment Information: Schedule of Segment Reporting Information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net Sales</a></td>
<td class="nump">$ 33,974,558<span></span>
</td>
<td class="nump">$ 27,590,653<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="top.Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation and Amortization</a></td>
<td class="nump">1,318,554<span></span>
</td>
<td class="nump">1,347,305<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="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">5,647,984<span></span>
</td>
<td class="nump">5,163,450<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="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">8,519,780<span></span>
</td>
<td class="nump">5,153,294<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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">12,473,864<span></span>
</td>
<td class="nump">13,150,884<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_FastenerMember', window );">Fastener</a></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="top.Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net Sales</a></td>
<td class="nump">29,831,388<span></span>
</td>
<td class="nump">24,607,863<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="top.Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation and Amortization</a></td>
<td class="nump">1,161,596<span></span>
</td>
<td class="nump">1,182,555<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="top.Show.showAR( this, 'defref_fil_SegmentOperatingProfit', window );">Segment operating profit</a></td>
<td class="nump">2,384,486<span></span>
</td>
<td class="nump">1,531,933<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="top.Show.showAR( this, 'defref_fil_SellingAndAdministrativeExpensesUnallocatedCorporate', window );">Selling and Administrative Expenses</a></td>
<td class="nump">0<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="top.Show.showAR( this, 'defref_us-gaap_InterestAndOtherIncome', window );">Other Income</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="nump">493,564<span></span>
</td>
<td class="nump">614,835<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="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">5,302,257<span></span>
</td>
<td class="nump">4,906,239<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="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">7,214,050<span></span>
</td>
<td class="nump">4,024,138<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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">9,782,324<span></span>
</td>
<td class="nump">10,479,720<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="top.Show.showAR( this, 'defref_us-gaap_OtherAssets', window );">Other assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_AssemblyEquipmentMember', window );">Assembly Equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net Sales</a></td>
<td class="nump">4,143,170<span></span>
</td>
<td class="nump">2,982,790<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="top.Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation and Amortization</a></td>
<td class="nump">134,957<span></span>
</td>
<td class="nump">131,826<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="top.Show.showAR( this, 'defref_fil_SegmentOperatingProfit', window );">Segment operating profit</a></td>
<td class="nump">997,048<span></span>
</td>
<td class="nump">513,250<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="top.Show.showAR( this, 'defref_fil_SellingAndAdministrativeExpensesUnallocatedCorporate', window );">Selling and Administrative Expenses</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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="top.Show.showAR( this, 'defref_us-gaap_InterestAndOtherIncome', window );">Other Income</a></td>
<td class="nump">0<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="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">13,924<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="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">345,727<span></span>
</td>
<td class="nump">257,211<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="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">1,305,730<span></span>
</td>
<td class="nump">1,129,156<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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">1,433,905<span></span>
</td>
<td class="nump">1,568,862<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="top.Show.showAR( this, 'defref_us-gaap_OtherAssets', window );">Other assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_UnallocatedCorporateMember', window );">Unallocated Corporate</a></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="top.Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net Sales</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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="top.Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation and Amortization</a></td>
<td class="nump">22,001<span></span>
</td>
<td class="nump">32,924<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="top.Show.showAR( this, 'defref_fil_SegmentOperatingProfit', window );">Segment operating profit</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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="top.Show.showAR( this, 'defref_fil_SellingAndAdministrativeExpensesUnallocatedCorporate', window );">Selling and Administrative Expenses</a></td>
<td class="num">(2,022,619)<span></span>
</td>
<td class="num">(2,128,197)<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="top.Show.showAR( this, 'defref_us-gaap_InterestAndOtherIncome', window );">Other Income</a></td>
<td class="nump">55,557<span></span>
</td>
<td class="nump">148,464<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="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="nump">177,334<span></span>
</td>
<td class="nump">195,377<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="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">0<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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">1,257,635<span></span>
</td>
<td class="nump">1,102,302<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="top.Show.showAR( this, 'defref_us-gaap_OtherAssets', window );">Other assets</a></td>
<td class="nump">$ 5,124,630<span></span>
</td>
<td class="nump">$ 7,770,443<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_SegmentOperatingProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting segment operating expenses from segment operating revenues.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_SegmentOperatingProfit</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_SellingAndAdministrativeExpensesUnallocatedCorporate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_SellingAndAdministrativeExpensesUnallocatedCorporate</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_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_InterestAndOtherIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of interest income and other income recognized during the period. Included in this element is interest derived from investments in debt securities, cash and cash equivalents, and other investments which reflect the time value of money or transactions in which the payments are for the use or forbearance of money and other income from ancillary business-related activities (that is, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestAndOtherIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_OtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9038-108599<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9054-108599<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_StatementBusinessSegmentsAxis=fil_FastenerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_StatementBusinessSegmentsAxis=fil_FastenerMember</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_StatementBusinessSegmentsAxis=fil_AssemblyEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_StatementBusinessSegmentsAxis=fil_AssemblyEquipmentMember</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_StatementBusinessSegmentsAxis=fil_UnallocatedCorporateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_StatementBusinessSegmentsAxis=fil_UnallocatedCorporateMember</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>56
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743636088120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>6 - Segment Information: Disaggregation of Revenue (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 33,974,558<span></span>
</td>
<td class="nump">$ 27,590,653<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=fil_UnitedStatesMember', window );">United States</a></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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">28,333,216<span></span>
</td>
<td class="nump">23,547,772<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=fil_ForeignMember', window );">Foreign</a></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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">5,641,342<span></span>
</td>
<td class="nump">4,042,881<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=fil_AutomotiveMember', window );">Automotive</a></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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">17,730,756<span></span>
</td>
<td class="nump">15,749,148<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=fil_NonautomotiveMember', window );">Nonautomotive</a></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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">16,243,802<span></span>
</td>
<td class="nump">11,841,505<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_FastenerMember', window );">Fastener</a></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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">29,831,388<span></span>
</td>
<td class="nump">24,607,863<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_FastenerMember', window );">Fastener | United States</a></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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">24,280,114<span></span>
</td>
<td class="nump">20,743,296<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_FastenerMember', window );">Fastener | Foreign</a></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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">5,551,274<span></span>
</td>
<td class="nump">3,864,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="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_FastenerMember', window );">Fastener | Automotive</a></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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">17,573,104<span></span>
</td>
<td class="nump">15,612,249<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_FastenerMember', window );">Fastener | Nonautomotive</a></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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">12,258,284<span></span>
</td>
<td class="nump">8,995,614<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_AssemblyEquipmentMember', window );">Assembly Equipment</a></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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">4,143,170<span></span>
</td>
<td class="nump">2,982,790<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_AssemblyEquipmentMember', window );">Assembly Equipment | United States</a></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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">4,053,102<span></span>
</td>
<td class="nump">2,804,476<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_AssemblyEquipmentMember', window );">Assembly Equipment | Foreign</a></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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">90,068<span></span>
</td>
<td class="nump">178,314<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_AssemblyEquipmentMember', window );">Assembly Equipment | Automotive</a></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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">157,652<span></span>
</td>
<td class="nump">136,899<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_AssemblyEquipmentMember', window );">Assembly Equipment | Nonautomotive</a></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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 3,985,518<span></span>
</td>
<td class="nump">$ 2,845,891<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_UnitedStatesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_UnitedStatesMember</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_ForeignMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ForeignMember</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_AutomotiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_AutomotiveMember</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_NonautomotiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_NonautomotiveMember</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_StatementBusinessSegmentsAxis=fil_FastenerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_StatementBusinessSegmentsAxis=fil_FastenerMember</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_StatementBusinessSegmentsAxis=fil_AssemblyEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_StatementBusinessSegmentsAxis=fil_AssemblyEquipmentMember</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>57
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743639890088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of % of Revenues and A/R from Major Customers (Details)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=fil_TIGroupAutomotiveSystemsMember', window );">T.I. Group Automotive Systems</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of revenues from major customers</a></td>
<td class="nump">13.00%<span></span>
</td>
<td class="nump">14.00%<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="top.Show.showAR( this, 'defref_us-gaap_AdditionalInformationAboutEntitysReportableSegments', window );">Percentage of accounts receivable balances</a></td>
<td class="text">16<span></span>
</td>
<td class="text">17<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=fil_CooperStandardHoldingsIncMember', window );">Cooper Standard Holdings Inc</a></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="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of revenues from major customers</a></td>
<td class="nump">11.00%<span></span>
</td>
<td class="nump">12.00%<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="top.Show.showAR( this, 'defref_us-gaap_AdditionalInformationAboutEntitysReportableSegments', window );">Percentage of accounts receivable balances</a></td>
<td class="text">11<span></span>
</td>
<td class="text">15<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=fil_ParkerHannifinCorporationMember', window );">Parker Hannifin Corporation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of revenues from major customers</a></td>
<td class="nump">12.00%<span></span>
</td>
<td class="nump">10.00%<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="top.Show.showAR( this, 'defref_us-gaap_AdditionalInformationAboutEntitysReportableSegments', window );">Percentage of accounts receivable balances</a></td>
<td class="text">18<span></span>
</td>
<td class="text">15<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_AdditionalInformationAboutEntitysReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Additional information about the entity or its reportable segments that may contribute to an understanding of the enterprise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6374474&amp;loc=d3e8352-108598<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalInformationAboutEntitysReportableSegments</td>
</tr>
<tr>
<td style="padding-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_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9054-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13531-108611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13537-108611<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="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_srt_MajorCustomersAxis=fil_TIGroupAutomotiveSystemsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_MajorCustomersAxis=fil_TIGroupAutomotiveSystemsMember</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_MajorCustomersAxis=fil_CooperStandardHoldingsIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_MajorCustomersAxis=fil_CooperStandardHoldingsIncMember</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_MajorCustomersAxis=fil_ParkerHannifinCorporationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_MajorCustomersAxis=fil_ParkerHannifinCorporationMember</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>58
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743643300680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesRentExpenseNet', window );">Rent Expense</a></td>
<td class="nump">$ 27,000<span></span>
</td>
<td class="nump">$ 23,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesRentExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Rental expense for the reporting period incurred under operating leases, including minimum and any contingent rent expense, net of related sublease income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123406913&amp;loc=d3e41499-112717<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesRentExpenseNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>59
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139743641154120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Events (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($) </div>
<div>$ / shares</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DividendsPayableDateDeclaredDayMonthAndYear', window );">Dividend declaration date</a></td>
<td class="text">Feb. 21,  2022<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="top.Show.showAR( this, 'defref_us-gaap_DividendsPayableAmountPerShare', window );">Dividends per share declared | $ / shares</a></td>
<td class="nump">$ 0.22<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="top.Show.showAR( this, 'defref_us-gaap_DividendsPayableCurrent', window );">Dividends payable amount | $</a></td>
<td class="nump">$ 212,549<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="top.Show.showAR( this, 'defref_us-gaap_DividendPayableDateToBePaidDayMonthAndYear', window );">Dividends Payable, Date to be Paid</a></td>
<td class="text">Mar. 18,  2022<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="top.Show.showAR( this, 'defref_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear', window );">Dividends Payable, Date of Record</a></td>
<td class="text">Mar.  04,  2022<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_DividendPayableDateToBePaidDayMonthAndYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Date the declared dividend will be paid, in YYYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendPayableDateToBePaidDayMonthAndYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_DividendsPayableAmountPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The per share amount of a dividend declared, but not paid, as of the financial reporting date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableAmountPerShare</td>
</tr>
<tr>
<td style="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_DividendsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding. 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DividendsPayableDateDeclaredDayMonthAndYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Date the dividend to be paid was declared, in YYYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableDateDeclaredDayMonthAndYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Date the holder must own the stock to be entitled to the dividend, in YYYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableDateOfRecordDayMonthAndYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>60
<FILENAME>d288627d10k_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2021q4"
  xmlns:fil="http://www.chicagorivet.com/20211231"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2021-01-31"
  xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="cvr-20211231.xsd" xlink:type="simple"/>
    <context id="Y21">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="E21">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="E21Q2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="I220318">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <instant>2022-03-18</instant>
        </period>
    </context>
    <context id="E20">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="Y20">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y21_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="E19">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="E19_StEqComps-PrefStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="E19_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="E19_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="E19_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="E19_StEqComps-TreasuryStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Y20_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="E20_StEqComps-PrefStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="E20_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="E20_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="E20_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="E20_StEqComps-TreasuryStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="E21_StEqComps-PrefStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="E21_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</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">0000019871</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-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</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="E21_StEqComps-TreasuryStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Y21_Range-Minimum_PpeByType-LandImprovements">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_Range-Maximum_PpeByType-LandImprovements">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_Range-Minimum_PpeByType-BuildingImprovements">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_Range-Maximum_PpeByType-BuildingImprovements">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_Range-Minimum_PpeByType-MachineryAndEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_Range-Maximum_PpeByType-MachineryAndEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_Range-Minimum_PpeByType-SoftwareAndSoftwareDvlpCosts">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_Range-Maximum_PpeByType-SoftwareAndSoftwareDvlpCosts">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_Range-Minimum_PpeByType-OtherCapizedPpe">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OtherCapitalizedPropertyPlantAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_Range-Maximum_PpeByType-OtherCapizedPpe">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OtherCapitalizedPropertyPlantAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="E20_ValuationAllowancesAndReservesType-AllowanceForCreditLoss">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="E19_ValuationAllowancesAndReservesType-AllowanceForCreditLoss">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Y21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y20_ValuationAllowancesAndReservesType-AllowanceForCreditLoss">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="E21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="E20_ValuationAllowancesAndReservesType-InventoryValuationReserve">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="E19_ValuationAllowancesAndReservesType-InventoryValuationReserve">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Y21_ValuationAllowancesAndReservesType-InventoryValuationReserve">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y20_ValuationAllowancesAndReservesType-InventoryValuationReserve">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="E21_ValuationAllowancesAndReservesType-InventoryValuationReserve">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Y21_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_StBusnSeg-UnallocatedCorporate">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:UnallocatedCorporateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="E21_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="E21_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="E21_StBusnSeg-UnallocatedCorporate">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:UnallocatedCorporateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Y20_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y20_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y20_StBusnSeg-UnallocatedCorporate">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:UnallocatedCorporateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="E20_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="E20_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="E20_StBusnSeg-UnallocatedCorporate">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:UnallocatedCorporateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="Y21_ProductOrService-EndMarket">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:EndMarketMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_ProductOrService-Automotive">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_ProductOrService-Automotive_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_ProductOrService-Nonautomotive">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_ProductOrService-Nonautomotive_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y20_ProductOrService-Automotive">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y20_ProductOrService-Automotive_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y20_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y20_ProductOrService-Nonautomotive">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y20_ProductOrService-Nonautomotive_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y20_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y21_StGeo-Location">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:LocationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_StGeo-UnitedStates">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:UnitedStatesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_StGeo-UnitedStates_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:UnitedStatesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_StGeo-UnitedStates_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:UnitedStatesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_StGeo-Foreign">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:ForeignMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_StGeo-Foreign_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:ForeignMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_StGeo-Foreign_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:ForeignMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y20_StGeo-UnitedStates">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:UnitedStatesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y20_StGeo-UnitedStates_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:UnitedStatesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y20_StGeo-UnitedStates_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:UnitedStatesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y20_StGeo-Foreign">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:ForeignMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y20_StGeo-Foreign_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:ForeignMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y20_StGeo-Foreign_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:ForeignMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y21_MajCust-TIGroupAutomotiveSystems">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fil:TIGroupAutomotiveSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y20_MajCust-TIGroupAutomotiveSystems">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fil:TIGroupAutomotiveSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y21_MajCust-CooperStandardHoldingsInc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fil:CooperStandardHoldingsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y20_MajCust-CooperStandardHoldingsInc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fil:CooperStandardHoldingsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y21_MajCust-ParkerHannifinCorporation">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fil:ParkerHannifinCorporationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y20_MajCust-ParkerHannifinCorporation">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fil:ParkerHannifinCorporationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <unit id="Pure">
        <measure>pure</measure>
    </unit>
    <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>
    <dei:EntityCentralIndexKey contextRef="Y21" id="fact1">0000019871</dei:EntityCentralIndexKey>
    <dei:EntityRegistrantName contextRef="Y21" id="fact2">CHICAGO RIVET &amp; MACHINE CO</dei:EntityRegistrantName>
    <dei:SecurityExchangeName contextRef="Y21" id="fact3">NYSEAMER</dei:SecurityExchangeName>
    <dei:AmendmentFlag contextRef="Y21" id="fact4">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus contextRef="Y21" id="fact5">2021</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus contextRef="Y21" id="fact6">FY</dei:DocumentFiscalPeriodFocus>
    <dei:DocumentType contextRef="Y21">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport contextRef="Y21">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate contextRef="Y21">2021-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate contextRef="Y21">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport contextRef="Y21">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="Y21">000-01227</dei:EntityFileNumber>
    <dei:EntityIncorporationStateCountryCode contextRef="Y21">IL</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="Y21">36-0904920</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="Y21">901 Frontenac Road</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="Y21">Naperville</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="Y21">IL</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="Y21">60563</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="Y21">630</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="Y21">357-8500</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="Y21">Common Stock, par value $1.00 per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="Y21">CVR</dei:TradingSymbol>
    <dei:EntityWellKnownSeasonedIssuer contextRef="Y21">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers contextRef="Y21">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus contextRef="Y21">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="Y21">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="Y21">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="Y21">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="Y21">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityEmergingGrowthCompany contextRef="Y21">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag contextRef="Y21">false</dei:IcfrAuditorAttestationFlag>
    <dei:EntityShellCompany contextRef="Y21">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat contextRef="E21Q2" decimals="INF" unitRef="USD">20323420</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding contextRef="I220318" decimals="INF" unitRef="Shares">966132</dei:EntityCommonStockSharesOutstanding>
    <dei:AuditorFirmId contextRef="Y21">173</dei:AuditorFirmId>
    <dei:AuditorName contextRef="Y21">Crowe LLP</dei:AuditorName>
    <dei:AuditorLocation contextRef="Y21">Oak Brook, Illinois</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E21" decimals="INF" unitRef="USD">2036954</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E20" decimals="INF" unitRef="USD">2567731</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CertificatesOfDepositAtCarryingValue contextRef="E21" decimals="INF" unitRef="USD">2741000</us-gaap:CertificatesOfDepositAtCarryingValue>
    <us-gaap:CertificatesOfDepositAtCarryingValue contextRef="E20" decimals="INF" unitRef="USD">4733000</us-gaap:CertificatesOfDepositAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="E21" decimals="INF" unitRef="USD">170000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="E20" decimals="INF" unitRef="USD">170000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="E20" decimals="INF" unitRef="USD">170000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="E21" decimals="INF" unitRef="USD">5647984</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="E20" decimals="INF" unitRef="USD">5163450</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet contextRef="E21" decimals="INF" unitRef="USD">8519780</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="E20" decimals="INF" unitRef="USD">5153294</us-gaap:InventoryNet>
    <us-gaap:PrepaidTaxes contextRef="E21" decimals="INF" unitRef="USD">440</us-gaap:PrepaidTaxes>
    <us-gaap:PrepaidTaxes contextRef="E20" decimals="INF" unitRef="USD">85940</us-gaap:PrepaidTaxes>
    <us-gaap:OtherAssetsCurrent contextRef="E21" decimals="INF" unitRef="USD">346236</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent contextRef="E20" decimals="INF" unitRef="USD">383772</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="E21" decimals="INF" unitRef="USD">19292394</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="E20" decimals="INF" unitRef="USD">18087187</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E21" decimals="INF" unitRef="USD">12473864</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E20" decimals="INF" unitRef="USD">13150884</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Assets contextRef="E21" decimals="INF" unitRef="USD">31766258</us-gaap:Assets>
    <us-gaap:Assets contextRef="E20" decimals="INF" unitRef="USD">31238071</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent contextRef="E21" decimals="INF" unitRef="USD">692635</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="E20" decimals="INF" unitRef="USD">466424</us-gaap:AccountsPayableCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="E21" decimals="INF" unitRef="USD">509332</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="E20" decimals="INF" unitRef="USD">482008</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E21" decimals="INF" unitRef="USD">366418</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E20" decimals="INF" unitRef="USD">322968</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:CustomerAdvancesAndDepositsCurrent contextRef="E21" decimals="INF" unitRef="USD">302424</us-gaap:CustomerAdvancesAndDepositsCurrent>
    <us-gaap:CustomerAdvancesAndDepositsCurrent contextRef="E20" decimals="INF" unitRef="USD">249498</us-gaap:CustomerAdvancesAndDepositsCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="E21" decimals="INF" unitRef="USD">1870809</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="E20" decimals="INF" unitRef="USD">1520898</us-gaap:LiabilitiesCurrent>
    <us-gaap:DeferredTaxLiabilitiesNoncurrent contextRef="E21" decimals="INF" unitRef="USD">926084</us-gaap:DeferredTaxLiabilitiesNoncurrent>
    <us-gaap:DeferredTaxLiabilitiesNoncurrent contextRef="E20" decimals="INF" unitRef="USD">1011084</us-gaap:DeferredTaxLiabilitiesNoncurrent>
    <us-gaap:Liabilities contextRef="E21" decimals="INF" unitRef="USD">2796893</us-gaap:Liabilities>
    <us-gaap:Liabilities contextRef="E20" decimals="INF" unitRef="USD">2531982</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare contextRef="E21" decimals="INF" unitRef="UsdPerShare">0</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare contextRef="E20" decimals="INF" unitRef="UsdPerShare">0</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized contextRef="E21" decimals="INF" unitRef="Shares">500000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized contextRef="E20" decimals="INF" unitRef="Shares">500000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding contextRef="E21" decimals="INF" unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding contextRef="E20" decimals="INF" unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue contextRef="E21" decimals="128" unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue contextRef="E20" decimals="128" unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare contextRef="E21" decimals="INF" unitRef="UsdPerShare">1.00</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare contextRef="E20" decimals="INF" unitRef="UsdPerShare">1.00</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized contextRef="E21" decimals="INF" unitRef="Shares">4000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized contextRef="E20" decimals="INF" unitRef="Shares">4000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued contextRef="E21" decimals="INF" unitRef="Shares">1138096</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued contextRef="E20" decimals="INF" unitRef="Shares">1138096</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="E21" decimals="INF" unitRef="Shares">966132</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding contextRef="E20" decimals="INF" unitRef="Shares">966132</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValueOutstanding contextRef="E21" decimals="INF" unitRef="USD">1138096</us-gaap:CommonStockValueOutstanding>
    <us-gaap:CommonStockValueOutstanding contextRef="E20" decimals="INF" unitRef="USD">1138096</us-gaap:CommonStockValueOutstanding>
    <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="E21" decimals="INF" unitRef="USD">447134</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="E20" decimals="INF" unitRef="USD">447134</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="E21" decimals="INF" unitRef="USD">31306233</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="E20" decimals="INF" unitRef="USD">31042957</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:TreasuryStockValue contextRef="E21" decimals="INF" unitRef="USD">3922098</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue contextRef="E20" decimals="INF" unitRef="USD">3922098</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity contextRef="E21" decimals="INF" unitRef="USD">28969365</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="E20" decimals="INF" unitRef="USD">28706089</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="E21" decimals="INF" unitRef="USD">31766258</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="E20" decimals="INF" unitRef="USD">31238071</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues contextRef="Y21" decimals="INF" unitRef="USD">33974558</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="Y20" decimals="INF" unitRef="USD">27590653</us-gaap:Revenues>
    <us-gaap:CostOfRevenue contextRef="Y21" decimals="INF" unitRef="USD">27509466</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="Y20" decimals="INF" unitRef="USD">22675451</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit contextRef="Y21" decimals="INF" unitRef="USD">6465092</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="Y20" decimals="INF" unitRef="USD">4915202</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="Y21" decimals="INF" unitRef="USD">5106177</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="Y20" decimals="INF" unitRef="USD">4998216</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss contextRef="Y21" decimals="INF" unitRef="USD">1358915</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="Y20" decimals="INF" unitRef="USD">-83014</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="Y21" decimals="INF" unitRef="USD">55557</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="Y20" decimals="INF" unitRef="USD">148464</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="Y21" decimals="INF" unitRef="USD">1414472</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="Y20" decimals="INF" unitRef="USD">65450</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y21" decimals="INF" unitRef="USD">301000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y20" decimals="INF" unitRef="USD">15000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss contextRef="Y21" decimals="INF" unitRef="USD">1113472</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="Y20" decimals="INF" unitRef="USD">50450</us-gaap:NetIncomeLoss>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicAndDilutedShare contextRef="Y21" decimals="INF" unitRef="UsdPerShare">1.15</us-gaap:IncomeLossFromContinuingOperationsPerBasicAndDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicAndDilutedShare contextRef="Y20" decimals="INF" unitRef="UsdPerShare">0.05</us-gaap:IncomeLossFromContinuingOperationsPerBasicAndDilutedShare>
    <us-gaap:StockholdersEquity
      contextRef="E19_StEqComps-PrefStock"
      decimals="INF"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="E19_StEqComps-CommonStock"
      decimals="INF"
      unitRef="Shares">966132</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="E19_StEqComps-CommonStock"
      decimals="INF"
      unitRef="USD">1138096</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="E19_StEqComps-AddPaidInCap"
      decimals="INF"
      unitRef="USD">447134</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="E19_StEqComps-RetainedEarnings"
      decimals="INF"
      unitRef="USD">31494895</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockShares
      contextRef="E19_StEqComps-TreasuryStock"
      decimals="INF"
      unitRef="Shares">171964</us-gaap:TreasuryStockShares>
    <us-gaap:StockholdersEquity
      contextRef="E19_StEqComps-TreasuryStock"
      decimals="INF"
      unitRef="USD">-3922098</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="E19" decimals="INF" unitRef="USD">29158027</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="Y20_StEqComps-RetainedEarnings"
      decimals="INF"
      unitRef="USD">50450</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="Y20" decimals="INF" unitRef="USD">50450</us-gaap:NetIncomeLoss>
    <us-gaap:CommonStockDividendsPerShareDeclared contextRef="Y20" decimals="INF" unitRef="UsdPerShare">0.52</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:Dividends
      contextRef="Y20_StEqComps-RetainedEarnings"
      decimals="INF"
      unitRef="USD">502388</us-gaap:Dividends>
    <us-gaap:Dividends contextRef="Y20" decimals="INF" unitRef="USD">502388</us-gaap:Dividends>
    <us-gaap:StockholdersEquity
      contextRef="E20_StEqComps-PrefStock"
      decimals="INF"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="E20_StEqComps-CommonStock"
      decimals="INF"
      unitRef="Shares">966132</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="E20_StEqComps-CommonStock"
      decimals="INF"
      unitRef="USD">1138096</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="E20_StEqComps-AddPaidInCap"
      decimals="INF"
      unitRef="USD">447134</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="E20_StEqComps-RetainedEarnings"
      decimals="INF"
      unitRef="USD">31042957</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockShares
      contextRef="E20_StEqComps-TreasuryStock"
      decimals="INF"
      unitRef="Shares">171964</us-gaap:TreasuryStockShares>
    <us-gaap:StockholdersEquity
      contextRef="E20_StEqComps-TreasuryStock"
      decimals="INF"
      unitRef="USD">-3922098</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="E20" decimals="INF" unitRef="USD">28706089</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="Y21_StEqComps-RetainedEarnings"
      decimals="INF"
      unitRef="USD">1113472</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="Y21" decimals="INF" unitRef="USD">1113472</us-gaap:NetIncomeLoss>
    <us-gaap:CommonStockDividendsPerShareDeclared contextRef="Y21" decimals="INF" unitRef="UsdPerShare">0.88</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:Dividends
      contextRef="Y21_StEqComps-RetainedEarnings"
      decimals="INF"
      unitRef="USD">850196</us-gaap:Dividends>
    <us-gaap:Dividends contextRef="Y21" decimals="INF" unitRef="USD">850196</us-gaap:Dividends>
    <us-gaap:StockholdersEquity
      contextRef="E21_StEqComps-PrefStock"
      decimals="INF"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="E21_StEqComps-CommonStock"
      decimals="INF"
      unitRef="Shares">966132</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="E21_StEqComps-CommonStock"
      decimals="INF"
      unitRef="USD">1138096</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="E21_StEqComps-AddPaidInCap"
      decimals="INF"
      unitRef="USD">447134</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="E21_StEqComps-RetainedEarnings"
      decimals="INF"
      unitRef="USD">31306233</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockShares
      contextRef="E21_StEqComps-TreasuryStock"
      decimals="INF"
      unitRef="Shares">171964</us-gaap:TreasuryStockShares>
    <us-gaap:StockholdersEquity
      contextRef="E21_StEqComps-TreasuryStock"
      decimals="INF"
      unitRef="USD">-3922098</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="E21" decimals="INF" unitRef="USD">28969365</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="Y21" decimals="INF" unitRef="USD">1113472</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="Y20" decimals="INF" unitRef="USD">50450</us-gaap:NetIncomeLoss>
    <us-gaap:Depreciation contextRef="Y21" decimals="INF" unitRef="USD">1318554</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="Y20" decimals="INF" unitRef="USD">1347305</us-gaap:Depreciation>
    <us-gaap:GainLossOnDispositionOfAssets contextRef="Y21" decimals="INF" unitRef="USD">21564</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:GainLossOnDispositionOfAssets contextRef="Y20" decimals="INF" unitRef="USD">0</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="Y21" decimals="INF" unitRef="USD">-85000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="Y20" decimals="INF" unitRef="USD">68000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="Y21" decimals="INF" unitRef="USD">-484534</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="Y20" decimals="INF" unitRef="USD">-554136</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories contextRef="Y21" decimals="INF" unitRef="USD">-3366486</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories contextRef="Y20" decimals="INF" unitRef="USD">-202117</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets contextRef="Y21" decimals="INF" unitRef="USD">123036</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets contextRef="Y20" decimals="INF" unitRef="USD">15666</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="Y21" decimals="INF" unitRef="USD">226211</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="Y20" decimals="INF" unitRef="USD">-24156</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities contextRef="Y21" decimals="INF" unitRef="USD">27324</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities contextRef="Y20" decimals="INF" unitRef="USD">-147964</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities contextRef="Y21" decimals="INF" unitRef="USD">43450</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities contextRef="Y20" decimals="INF" unitRef="USD">-26101</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInCustomerAdvancesAndDeposits contextRef="Y21" decimals="INF" unitRef="USD">52926</us-gaap:IncreaseDecreaseInCustomerAdvancesAndDeposits>
    <us-gaap:IncreaseDecreaseInCustomerAdvancesAndDeposits contextRef="Y20" decimals="INF" unitRef="USD">96854</us-gaap:IncreaseDecreaseInCustomerAdvancesAndDeposits>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="Y21" decimals="INF" unitRef="USD">-1009483</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="Y20" decimals="INF" unitRef="USD">623801</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireProductiveAssets contextRef="Y21" decimals="INF" unitRef="USD">670898</us-gaap:PaymentsToAcquireProductiveAssets>
    <us-gaap:PaymentsToAcquireProductiveAssets contextRef="Y20" decimals="INF" unitRef="USD">824136</us-gaap:PaymentsToAcquireProductiveAssets>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="Y21" decimals="INF" unitRef="USD">7800</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="Y20" decimals="INF" unitRef="USD">0</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities contextRef="Y21" decimals="INF" unitRef="USD">4484000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities contextRef="Y20" decimals="INF" unitRef="USD">6574000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities>
    <us-gaap:PaymentsToAcquireHeldToMaturitySecurities contextRef="Y21" decimals="INF" unitRef="USD">2492000</us-gaap:PaymentsToAcquireHeldToMaturitySecurities>
    <us-gaap:PaymentsToAcquireHeldToMaturitySecurities contextRef="Y20" decimals="INF" unitRef="USD">4733000</us-gaap:PaymentsToAcquireHeldToMaturitySecurities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="Y21" decimals="INF" unitRef="USD">1328902</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="Y20" decimals="INF" unitRef="USD">1016864</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsOfDividendsCommonStock contextRef="Y21" decimals="INF" unitRef="USD">850196</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock contextRef="Y20" decimals="INF" unitRef="USD">502388</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="Y21" decimals="INF" unitRef="USD">-850196</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="Y20" decimals="INF" unitRef="USD">-502388</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease contextRef="Y21" decimals="INF" unitRef="USD">-530777</us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease>
    <us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease contextRef="Y20" decimals="INF" unitRef="USD">1138277</us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E20" decimals="INF" unitRef="USD">2567731</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E19" decimals="INF" unitRef="USD">1429454</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E21" decimals="INF" unitRef="USD">2036954</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E20" decimals="INF" unitRef="USD">2567731</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:IncomeTaxesPaid contextRef="Y21" decimals="INF" unitRef="USD">300500</us-gaap:IncomeTaxesPaid>
    <us-gaap:ProceedsFromIncomeTaxRefunds contextRef="Y20" decimals="INF" unitRef="USD">25246</us-gaap:ProceedsFromIncomeTaxRefunds>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock contextRef="Y21">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;1 - Nature of Business and Significant Accounting Policies&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Nature of Business-&lt;/b&gt;The Company operates in the fastener industry and is in the business of producing and selling rivets, cold-formed fasteners and parts, screw machine products, automatic rivet setting machines and parts and tools for such machines.&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;A summary of the Company&#x2019;s significant accounting policies follows:&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Principles of Consolidation-&lt;/b&gt;The consolidated financial statements include the accounts of Chicago Rivet &amp;amp; Machine Co. and its wholly-owned subsidiary, H &amp;amp; L Tool Company, Inc. (&#x201c;H &amp;amp; L Tool&#x201d;). &#160;All significant intercompany accounts and transactions have been eliminated.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Revenue Recognition-&lt;/b&gt; Revenue is recognized when control of the promised goods or services is transferred to our customers, generally upon shipment of goods or completion of services, in an amount that reflects the consideration we expect to receive in exchange for those goods or services. &#160;Sales taxes we may collect concurrent with revenue producing activities are excluded from revenue. &#160;Revenue is recognized net of certain sales adjustments to arrive at net sales as reported on the statement of income. &#160;These adjustments primarily relate to customer returns and allowances, which vary over time. &#160;The Company records a liability and reduction in sales for estimated product returns based upon historical experience. &#160;If we determine that our obligation under warranty claims is probable and subject to reasonable determination, an estimate of that liability is recorded as an offset against revenue at that time. &#160;As of December 31, 2021 and 2020, reserves for warranty claims were not material. &#160;Cash received by the Company prior to shipment is recorded as unearned revenue. &#160;In 2021 and 2020 the Company recognized revenue from such payments of $248,799 and $151,944, respectively, that was included in the unearned revenue balance at the beginning of the period. &#160;Shipping and handling fees billed to customers are recognized in net sales, and related costs as cost of sales, when incurred.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Credit Risk-&lt;/b&gt;The Company extends credit on the basis of terms that are customary within our markets to various companies doing business primarily in the automotive industry. &#160;The Company has a concentration of credit risk primarily within the automotive industry and in the Midwestern United States. &#160;The Company has established an allowance for accounts that may become uncollectible in the future. &#160;This estimated allowance is based primarily on management's evaluation of the financial condition of the customer and historical experience. &#160;The Company monitors its accounts receivable and charges to expense an amount equal to its estimate of potential credit losses. &#160;The Company considers a number of factors in determining its estimates, including the length of time its trade accounts receivable are past due, the Company's previous loss history and the customer's current ability to pay its obligation. &#160;Accounts receivable balances are charged off against the allowance when it is determined that the receivable will not be recovered.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Cash and Cash Equivalents and Certificates of Deposit-&lt;/b&gt;The Company considers all highly liquid investments, including certificates of deposit, with a maturity of three months or less when purchased to be cash equivalents. &#160;Certificates of deposit with an original maturity of greater than three months are separately presented at cost which approximates market value. &#160;The Company maintains cash on deposit in several financial institutions. At times, the account balances may be in excess of Federal Deposit Insurance Corporation insured limits.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Fair Value of Financial Instruments-&lt;/b&gt;The carrying amounts reported in the consolidated balance sheets for cash and cash equivalents, certificates of deposit, accounts receivable and accounts payable approximate fair value based on their short-term nature.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Inventories-&lt;/b&gt;Inventories are stated at the lower of cost or net realizable value, cost being determined by the first-in, first-out method. &#160;The value of inventories is reduced for estimated excess and obsolete inventories based on a review of on-hand inventories compared to historical and estimated future sales and usage.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Property, Plant and Equipment-&lt;/b&gt;Properties are stated at cost and are depreciated over their estimated useful lives using the straight-line method for financial reporting purposes. &#160;Accelerated methods of depreciation are used for income tax purposes. &#160;Direct costs related to developing or obtaining software for internal use are capitalized as property and equipment. &#160;Capitalized software costs are amortized over the software&#x2019;s useful life when the software is placed in service. &#160;The estimated useful lives by asset category are:&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="margin:0 auto;border-collapse:collapse;width:277pt"&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;i&gt;Asset Category&lt;/i&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;i&gt;Estimated Useful Life&lt;/i&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Land improvements&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;15 to 40 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Buildings and improvements&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;10 to 40 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Machinery and equipment&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;5 to 18 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Capitalized software costs&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;3 to 5 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other equipment&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;3 to 10 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company reviews the carrying value of property, plant and equipment for impairment whenever events and circumstances indicate that the carrying value of an asset may not be recoverable from the estimated future cash flows expected to result from its use and eventual disposition. &#160;In cases where undiscounted expected future cash flows are less than the carrying value, an impairment loss is recognized equal to an amount by which the carrying value exceeds the fair value of assets. &#160;There were no triggering events requiring assessment of impairment as of December 31, 2021 and 2020.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;When properties are retired or sold, the related cost and accumulated depreciation are removed from the respective accounts, and any gain or loss on disposition is recognized in current operations. &#160;Maintenance, repairs and minor betterments that do not improve the related asset or extend its useful life are charged to operations as incurred. &lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Income Taxes&#x2014;&lt;/b&gt;Deferred income taxes are determined under the asset and liability method. &#160;Deferred income taxes arise from temporary differences between the income tax basis of assets and liabilities and their reported amounts in the financial statements. &#160;Deferred taxes are shown on the balance sheet as a net long-term asset or liability.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company applies a comprehensive model for the financial statement recognition, measurement, classification and disclosure of uncertain tax positions.&#160; In the first step of the two-step process, the Company evaluates the tax position for recognition by determining if the weight of available evidence indicates that it is more likely than not that the position will be sustained on audit, including resolution of related appeals or litigation processes, if any.&#160; In the second step, the Company measures the tax benefit as the largest amount that is more than 50% likely of being realized upon settlement.&#160; As of December 31, 2021 and 2020, the Company determined that there are no uncertain tax positions with a more than 50% likelihood of being realized upon settlement.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company classifies interest and penalties related to unrecognized tax benefits as a component of income tax expense. &#160;There were no such expenses in 2021 or 2020.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company&#x2019;s federal income tax returns for the 2018 through 2020 tax years are subject to examination by the Internal Revenue Service (&#x201c;IRS&#x201d;). &#160;While it may be possible that a reduction could occur with respect to the Company&#x2019;s unrecognized tax benefits as an outcome of an IRS examination, management does not anticipate any adjustments that would result in a material change to the results of operations or financial condition of the Company.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;No statutes have been extended on any of the Company&#x2019;s federal income tax filings. The statute of limitations on the Company&#x2019;s 2018, 2019 and 2020 federal income tax returns will expire on September 15, 2022, 2023 and 2024, respectively.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company&#x2019;s state income tax returns for the 2018 through 2020 tax years are subject to examination by various state authorities with the latest closing period on October 31, 2024. &#160;The Company is currently not under examination by any state authority for income tax purposes and no statutes for state income tax filings have been extended.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Segment Information-&lt;/b&gt;The Company reports segment information based on the internal structure and reporting of the Company&#x2019;s operations.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Net Income Per Share-&lt;/b&gt; Net income per share of common stock is based on the weighted average number of shares outstanding of 966,132 in 2021 and 2020.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font-family:Arial"&gt;&lt;b&gt;Use of Estimates-&lt;/b&gt;The preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and the accompanying notes. &#160;Significant items subject to estimates and assumptions include depreciable lives, deferred taxes and valuation allowances for accounts receivable and inventory obsolescence. &#160;Actual results could differ from those estimates.&lt;/span&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Recent Accounting Pronouncements-&lt;/b&gt; In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments&#160;- Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments and in November 2018 issued an amendment, ASU 2018-19, Codification Improvements to Topic 326, Financial Instruments &#x2013;&#160;Credit Losses. &#160;ASU 2016-13 amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments, including trade receivables. This may result in the earlier recognition of allowances for losses. ASU 2016-13 and ASU 2018-19 should be applied on either a prospective transition or modified-retrospective approach depending on the subtopic. &#160;ASU 2016-13 is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years, with early adoption permitted. The Company believes that the most notable impact of this ASU relates to its processes around the assessment of the adequacy of its allowance for doubtful accounts on trade accounts receivable and is not expected to have a material impact on our consolidated financial statements.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:justify"&gt;&#160;&lt;/p&gt; </us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock contextRef="Y21">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Principles of Consolidation-&lt;/b&gt;The consolidated financial statements include the accounts of Chicago Rivet &amp;amp; Machine Co. and its wholly-owned subsidiary, H &amp;amp; L Tool Company, Inc. (&#x201c;H &amp;amp; L Tool&#x201d;). &#160;All significant intercompany accounts and transactions have been eliminated.&lt;/p&gt; </us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure contextRef="Y21">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Revenue Recognition-&lt;/b&gt; Revenue is recognized when control of the promised goods or services is transferred to our customers, generally upon shipment of goods or completion of services, in an amount that reflects the consideration we expect to receive in exchange for those goods or services. &#160;Sales taxes we may collect concurrent with revenue producing activities are excluded from revenue. &#160;Revenue is recognized net of certain sales adjustments to arrive at net sales as reported on the statement of income. &#160;These adjustments primarily relate to customer returns and allowances, which vary over time. &#160;The Company records a liability and reduction in sales for estimated product returns based upon historical experience. &#160;If we determine that our obligation under warranty claims is probable and subject to reasonable determination, an estimate of that liability is recorded as an offset against revenue at that time. &#160;As of December 31, 2021 and 2020, reserves for warranty claims were not material. &#160;Cash received by the Company prior to shipment is recorded as unearned revenue. &#160;In 2021 and 2020 the Company recognized revenue from such payments of $248,799 and $151,944, respectively, that was included in the unearned revenue balance at the beginning of the period. &#160;Shipping and handling fees billed to customers are recognized in net sales, and related costs as cost of sales, when incurred.&lt;/p&gt; </us-gaap:RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="Y21" decimals="INF" unitRef="USD">248799</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="Y20" decimals="INF" unitRef="USD">151944</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ConcentrationRiskCreditRisk contextRef="Y21">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Credit Risk-&lt;/b&gt;The Company extends credit on the basis of terms that are customary within our markets to various companies doing business primarily in the automotive industry. &#160;The Company has a concentration of credit risk primarily within the automotive industry and in the Midwestern United States. &#160;The Company has established an allowance for accounts that may become uncollectible in the future. &#160;This estimated allowance is based primarily on management's evaluation of the financial condition of the customer and historical experience. &#160;The Company monitors its accounts receivable and charges to expense an amount equal to its estimate of potential credit losses. &#160;The Company considers a number of factors in determining its estimates, including the length of time its trade accounts receivable are past due, the Company's previous loss history and the customer's current ability to pay its obligation. &#160;Accounts receivable balances are charged off against the allowance when it is determined that the receivable will not be recovered.&lt;/p&gt; </us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="Y21">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Cash and Cash Equivalents and Certificates of Deposit-&lt;/b&gt;The Company considers all highly liquid investments, including certificates of deposit, with a maturity of three months or less when purchased to be cash equivalents. &#160;Certificates of deposit with an original maturity of greater than three months are separately presented at cost which approximates market value. &#160;The Company maintains cash on deposit in several financial institutions. At times, the account balances may be in excess of Federal Deposit Insurance Corporation insured limits.&lt;/p&gt; </us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy contextRef="Y21">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Fair Value of Financial Instruments-&lt;/b&gt;The carrying amounts reported in the consolidated balance sheets for cash and cash equivalents, certificates of deposit, accounts receivable and accounts payable approximate fair value based on their short-term nature.&lt;/p&gt; </us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:InventoryPolicyTextBlock contextRef="Y21">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Inventories-&lt;/b&gt;Inventories are stated at the lower of cost or net realizable value, cost being determined by the first-in, first-out method. &#160;The value of inventories is reduced for estimated excess and obsolete inventories based on a review of on-hand inventories compared to historical and estimated future sales and usage.&lt;/p&gt; </us-gaap:InventoryPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="Y21">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Property, Plant and Equipment-&lt;/b&gt;Properties are stated at cost and are depreciated over their estimated useful lives using the straight-line method for financial reporting purposes. &#160;Accelerated methods of depreciation are used for income tax purposes. &#160;Direct costs related to developing or obtaining software for internal use are capitalized as property and equipment. &#160;Capitalized software costs are amortized over the software&#x2019;s useful life when the software is placed in service. &#160;The estimated useful lives by asset category are:&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="margin:0 auto;border-collapse:collapse;width:277pt"&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;i&gt;Asset Category&lt;/i&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;i&gt;Estimated Useful Life&lt;/i&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Land improvements&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;15 to 40 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Buildings and improvements&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;10 to 40 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Machinery and equipment&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;5 to 18 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Capitalized software costs&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;3 to 5 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other equipment&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;3 to 10 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company reviews the carrying value of property, plant and equipment for impairment whenever events and circumstances indicate that the carrying value of an asset may not be recoverable from the estimated future cash flows expected to result from its use and eventual disposition. &#160;In cases where undiscounted expected future cash flows are less than the carrying value, an impairment loss is recognized equal to an amount by which the carrying value exceeds the fair value of assets. &#160;There were no triggering events requiring assessment of impairment as of December 31, 2021 and 2020.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;When properties are retired or sold, the related cost and accumulated depreciation are removed from the respective accounts, and any gain or loss on disposition is recognized in current operations. &#160;Maintenance, repairs and minor betterments that do not improve the related asset or extend its useful life are charged to operations as incurred. &lt;/p&gt; </us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y21_Range-Minimum_PpeByType-LandImprovements">P15Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y21_Range-Maximum_PpeByType-LandImprovements">P40Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y21_Range-Minimum_PpeByType-BuildingImprovements">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y21_Range-Maximum_PpeByType-BuildingImprovements">P40Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y21_Range-Minimum_PpeByType-MachineryAndEquipment">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y21_Range-Maximum_PpeByType-MachineryAndEquipment">P18Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y21_Range-Minimum_PpeByType-SoftwareAndSoftwareDvlpCosts">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y21_Range-Maximum_PpeByType-SoftwareAndSoftwareDvlpCosts">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y21_Range-Minimum_PpeByType-OtherCapizedPpe">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y21_Range-Maximum_PpeByType-OtherCapizedPpe">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="Y21">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Income Taxes&#x2014;&lt;/b&gt;Deferred income taxes are determined under the asset and liability method. &#160;Deferred income taxes arise from temporary differences between the income tax basis of assets and liabilities and their reported amounts in the financial statements. &#160;Deferred taxes are shown on the balance sheet as a net long-term asset or liability.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company applies a comprehensive model for the financial statement recognition, measurement, classification and disclosure of uncertain tax positions.&#160; In the first step of the two-step process, the Company evaluates the tax position for recognition by determining if the weight of available evidence indicates that it is more likely than not that the position will be sustained on audit, including resolution of related appeals or litigation processes, if any.&#160; In the second step, the Company measures the tax benefit as the largest amount that is more than 50% likely of being realized upon settlement.&#160; As of December 31, 2021 and 2020, the Company determined that there are no uncertain tax positions with a more than 50% likelihood of being realized upon settlement.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company classifies interest and penalties related to unrecognized tax benefits as a component of income tax expense. &#160;There were no such expenses in 2021 or 2020.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company&#x2019;s federal income tax returns for the 2018 through 2020 tax years are subject to examination by the Internal Revenue Service (&#x201c;IRS&#x201d;). &#160;While it may be possible that a reduction could occur with respect to the Company&#x2019;s unrecognized tax benefits as an outcome of an IRS examination, management does not anticipate any adjustments that would result in a material change to the results of operations or financial condition of the Company.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;No statutes have been extended on any of the Company&#x2019;s federal income tax filings. The statute of limitations on the Company&#x2019;s 2018, 2019 and 2020 federal income tax returns will expire on September 15, 2022, 2023 and 2024, respectively.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company&#x2019;s state income tax returns for the 2018 through 2020 tax years are subject to examination by various state authorities with the latest closing period on October 31, 2024. &#160;The Company is currently not under examination by any state authority for income tax purposes and no statutes for state income tax filings have been extended.&lt;/p&gt; </us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:LiabilityForUncertainTaxPositionsCurrent contextRef="E21" decimals="INF" unitRef="USD">0</us-gaap:LiabilityForUncertainTaxPositionsCurrent>
    <us-gaap:LiabilityForUncertainTaxPositionsCurrent contextRef="E20" decimals="INF" unitRef="USD">0</us-gaap:LiabilityForUncertainTaxPositionsCurrent>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense contextRef="Y21" decimals="INF" unitRef="USD">0</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense contextRef="Y20" decimals="INF" unitRef="USD">0</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock contextRef="Y21">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Segment Information-&lt;/b&gt;The Company reports segment information based on the internal structure and reporting of the Company&#x2019;s operations.&lt;/p&gt; </us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="Y21">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Net Income Per Share-&lt;/b&gt; Net income per share of common stock is based on the weighted average number of shares outstanding of 966,132 in 2021 and 2020.&lt;/p&gt; </us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="Y21" decimals="INF" unitRef="Shares">966132</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="Y20" decimals="INF" unitRef="Shares">966132</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:UseOfEstimates contextRef="Y21">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font-family:Arial"&gt;&lt;b&gt;Use of Estimates-&lt;/b&gt;The preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and the accompanying notes. &#160;Significant items subject to estimates and assumptions include depreciable lives, deferred taxes and valuation allowances for accounts receivable and inventory obsolescence. &#160;Actual results could differ from those estimates.&lt;/span&gt;&lt;/p&gt; </us-gaap:UseOfEstimates>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="Y21">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Recent Accounting Pronouncements-&lt;/b&gt; In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments&#160;- Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments and in November 2018 issued an amendment, ASU 2018-19, Codification Improvements to Topic 326, Financial Instruments &#x2013;&#160;Credit Losses. &#160;ASU 2016-13 amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments, including trade receivables. This may result in the earlier recognition of allowances for losses. ASU 2016-13 and ASU 2018-19 should be applied on either a prospective transition or modified-retrospective approach depending on the subtopic. &#160;ASU 2016-13 is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years, with early adoption permitted. The Company believes that the most notable impact of this ASU relates to its processes around the assessment of the adequacy of its allowance for doubtful accounts on trade accounts receivable and is not expected to have a material impact on our consolidated financial statements.&lt;/p&gt; </us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:SupplementalBalanceSheetDisclosuresTextBlock contextRef="Y21">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;2 - Balance Sheet Details&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"/&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2020&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Inventories:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Raw materials&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;4,645,923&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;2,245,709&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Work in process&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;2,181,457&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;1,410,868&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Finished goods&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;2,304,400&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;2,096,717&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;9,131,780&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;5,753,294&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Valuation reserves&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(612,000)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(600,000)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"/&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;8,519,780&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;5,153,294&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"/&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2020&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:13.95pt"&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Property, Plant and Equipment, net:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Land and improvements&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;1,778,819&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;1,636,749&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Buildings and improvements&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;8,456,983&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;8,534,317&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Machinery and equipment&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;35,618,735&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;35,194,944&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Capitalized software and other&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;1,060,379&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;1,045,027&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:13pt Arial Narrow;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;46,914,916&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;46,411,037&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Accumulated depreciation&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(34,441,052)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(33,260,153)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"/&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;12,473,864&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;13,150,884&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"/&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2020&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other Accrued Expenses:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Profit sharing plan contribution&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;145,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;120,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Property taxes&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;80,269&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;84,570&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;All other items &lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;141,149&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;118,398&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"/&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;366,418&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;322,968&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2020&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Allowance for Doubtful Accounts:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at beginning of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ 170,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ 140,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Charges to statement of income&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;0&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;35,774&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Write-offs&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;0&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(5,774)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at end of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ 170,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ 170,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2020&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Inventory Valuation Reserves:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at beginning of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160; 600,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160; 457,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Charges to statement of income&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;41,308&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;155,058&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Write-offs&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(29,308)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(12,058)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at end of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160; 612,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;600,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:SupplementalBalanceSheetDisclosuresTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="Y21">&lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"/&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2020&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Inventories:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Raw materials&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;4,645,923&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;2,245,709&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Work in process&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;2,181,457&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;1,410,868&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Finished goods&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;2,304,400&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;2,096,717&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;9,131,780&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;5,753,294&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Valuation reserves&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(612,000)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(600,000)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"/&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;8,519,780&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;5,153,294&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterials contextRef="E21" decimals="INF" unitRef="USD">4645923</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials contextRef="E20" decimals="INF" unitRef="USD">2245709</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryWorkInProcess contextRef="E21" decimals="INF" unitRef="USD">2181457</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess contextRef="E20" decimals="INF" unitRef="USD">1410868</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryFinishedGoods contextRef="E21" decimals="INF" unitRef="USD">2304400</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods contextRef="E20" decimals="INF" unitRef="USD">2096717</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryValuationReserves contextRef="E21" decimals="INF" unitRef="USD">612000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves contextRef="E20" decimals="INF" unitRef="USD">600000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet contextRef="E21" decimals="INF" unitRef="USD">8519780</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="E20" decimals="INF" unitRef="USD">5153294</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="Y21">&lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"/&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2020&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:13.95pt"&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Property, Plant and Equipment, net:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Land and improvements&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;1,778,819&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;1,636,749&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Buildings and improvements&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;8,456,983&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;8,534,317&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Machinery and equipment&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;35,618,735&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;35,194,944&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Capitalized software and other&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;1,060,379&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;1,045,027&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:13pt Arial Narrow;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;46,914,916&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;46,411,037&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Accumulated depreciation&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(34,441,052)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(33,260,153)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"/&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;12,473,864&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;13,150,884&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:LandAndLandImprovements contextRef="E21" decimals="INF" unitRef="USD">1778819</us-gaap:LandAndLandImprovements>
    <us-gaap:LandAndLandImprovements contextRef="E20" decimals="INF" unitRef="USD">1636749</us-gaap:LandAndLandImprovements>
    <us-gaap:BuildingsAndImprovementsGross contextRef="E21" decimals="INF" unitRef="USD">8456983</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross contextRef="E20" decimals="INF" unitRef="USD">8534317</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="E21" decimals="INF" unitRef="USD">35618735</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="E20" decimals="INF" unitRef="USD">35194944</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentOther contextRef="E21" decimals="INF" unitRef="USD">1060379</us-gaap:PropertyPlantAndEquipmentOther>
    <us-gaap:PropertyPlantAndEquipmentOther contextRef="E20" decimals="INF" unitRef="USD">1045027</us-gaap:PropertyPlantAndEquipmentOther>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="E21" decimals="INF" unitRef="USD">34441052</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="E20" decimals="INF" unitRef="USD">33260153</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentOtherNet contextRef="E21" decimals="INF" unitRef="USD">12473864</us-gaap:PropertyPlantAndEquipmentOtherNet>
    <us-gaap:PropertyPlantAndEquipmentOtherNet contextRef="E20" decimals="INF" unitRef="USD">13150884</us-gaap:PropertyPlantAndEquipmentOtherNet>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock contextRef="Y21">&lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"/&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2020&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other Accrued Expenses:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Profit sharing plan contribution&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;145,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;120,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Property taxes&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;80,269&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;84,570&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;All other items &lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;141,149&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;118,398&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"/&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;366,418&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;322,968&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:OtherEmployeeRelatedLiabilitiesCurrent contextRef="E21" decimals="INF" unitRef="USD">145000</us-gaap:OtherEmployeeRelatedLiabilitiesCurrent>
    <us-gaap:OtherEmployeeRelatedLiabilitiesCurrent contextRef="E20" decimals="INF" unitRef="USD">120000</us-gaap:OtherEmployeeRelatedLiabilitiesCurrent>
    <us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent contextRef="E21" decimals="INF" unitRef="USD">80269</us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent>
    <us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent contextRef="E20" decimals="INF" unitRef="USD">84570</us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="E21" decimals="INF" unitRef="USD">141149</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="E20" decimals="INF" unitRef="USD">118398</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E21" decimals="INF" unitRef="USD">366418</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E20" decimals="INF" unitRef="USD">322968</us-gaap:AccruedLiabilitiesCurrent>
    <srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock contextRef="Y21">&lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2020&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Allowance for Doubtful Accounts:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at beginning of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ 170,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ 140,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Charges to statement of income&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;0&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;35,774&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Write-offs&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;0&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(5,774)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at end of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ 170,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ 170,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2020&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Inventory Valuation Reserves:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at beginning of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160; 600,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160; 457,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Charges to statement of income&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;41,308&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;155,058&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Write-offs&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(29,308)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(12,058)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at end of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160; 612,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;600,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E20_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      unitRef="USD">170000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E19_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      unitRef="USD">140000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="Y21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      unitRef="USD">0</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="Y20_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      unitRef="USD">35774</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Y21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      unitRef="USD">0</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Y20_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      unitRef="USD">-5774</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      unitRef="USD">170000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E20_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      unitRef="USD">170000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E20_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      unitRef="USD">600000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E19_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      unitRef="USD">457000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="Y21_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      unitRef="USD">41308</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="Y20_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      unitRef="USD">155058</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Y21_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      unitRef="USD">-29308</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Y20_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      unitRef="USD">-12058</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E21_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      unitRef="USD">612000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E20_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      unitRef="USD">600000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="Y21">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font-family:Arial"&gt;&lt;b&gt;3&lt;/b&gt;&lt;b&gt; - &lt;/b&gt;&lt;b&gt;Income Taxes&#x2014;&lt;/b&gt;The provision for income tax expense consists of the following&lt;/span&gt;&lt;span style="font-family:Arial;color:#833C0B"&gt;:&lt;/span&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:151.9pt" valign="top"/&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;20&lt;/b&gt;&lt;b&gt;21&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2020&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:151.9pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Current:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:151.9pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Federal&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160;&#160;378,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;(53,000)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:151.9pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;State&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;8,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:151.9pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Deferred&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(85,000)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;68,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;
&lt;td style="width:151.9pt" valign="top"/&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160;&#160;301,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160; 15,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The following is a reconciliation of the statutory federal income tax rate to the actual effective tax rate:&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:34.55pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;2020&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:36.95pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;Amount&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;%&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;Amount&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Expected tax at U.S. statutory rate&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;color:#000000;text-align:right"&gt;&lt;b&gt;$ &#160;&#160;&#160;&#160;297,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:34.55pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;21.0&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160; 14,000&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:36.95pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;21.0&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Permanent differences&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(2,000)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:34.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(0.1)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;1,000&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;1.9&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;State taxes, net of federal benefit&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;6,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:34.55pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;0.4&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:36.95pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Income tax expense&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160;&#160;301,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;21.3&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160; 15,000&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;22.9&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:12pt Arial Narrow;margin:0;color:#339966"&gt;&lt;span style="font-family:Arial;color:#000000"&gt;The deferred tax assets (liabilities) consist of the following:&lt;/span&gt;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr style="height:18pt"&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"/&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;20&lt;/b&gt;&lt;b&gt;21&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2020&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Depreciation and amortization&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;(1,196,119)&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;(1,295,804)&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Inventory&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;157,600&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;175,739&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Accrued vacation&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;74,037&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;70,787&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Allowance for doubtful accounts&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;38,250&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;38,250&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other, net&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;148&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(56)&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"/&gt;
&lt;td style="border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160; &#160;(926,084)&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$(1,011,084)&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;Valuation allowances related to deferred taxes are recorded based on the &#x201c;more likely than not&#x201d; realization criteria. &#160;The Company reviews the need for a valuation allowance on a quarterly basis for each of its tax jurisdictions. &#160;A deferred tax valuation allowance was not required at December 31, 2021 or 2020.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="Y21">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:151.9pt" valign="top"/&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;20&lt;/b&gt;&lt;b&gt;21&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2020&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:151.9pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Current:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:151.9pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Federal&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160;&#160;378,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;(53,000)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:151.9pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;State&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;8,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:151.9pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Deferred&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(85,000)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;68,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;
&lt;td style="width:151.9pt" valign="top"/&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160;&#160;301,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160; 15,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations contextRef="Y21" decimals="INF" unitRef="USD">378000</us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations contextRef="Y20" decimals="INF" unitRef="USD">-53000</us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="Y21" decimals="INF" unitRef="USD">8000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="Y20" decimals="INF" unitRef="USD">0</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="Y21" decimals="INF" unitRef="USD">-85000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="Y20" decimals="INF" unitRef="USD">68000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y21" decimals="INF" unitRef="USD">301000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y20" decimals="INF" unitRef="USD">15000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="Y21">&lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:34.55pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;2020&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:36.95pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;Amount&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;%&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;Amount&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Expected tax at U.S. statutory rate&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;color:#000000;text-align:right"&gt;&lt;b&gt;$ &#160;&#160;&#160;&#160;297,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:34.55pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;21.0&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160; 14,000&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:36.95pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;21.0&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Permanent differences&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(2,000)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:34.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(0.1)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;1,000&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;1.9&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;State taxes, net of federal benefit&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;6,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:34.55pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;0.4&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:36.95pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Income tax expense&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160;&#160;301,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;21.3&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160; 15,000&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;22.9&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate contextRef="Y21" decimals="INF" unitRef="USD">297000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="Y21" decimals="INF" unitRef="Pure">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate contextRef="Y20" decimals="INF" unitRef="USD">14000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="Y20" decimals="INF" unitRef="Pure">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments contextRef="Y21" decimals="INF" unitRef="USD">-2000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="Y21" decimals="INF" unitRef="Pure">-0.001</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments contextRef="Y20" decimals="INF" unitRef="USD">1000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="Y20" decimals="INF" unitRef="Pure">0.019</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes contextRef="Y21" decimals="INF" unitRef="USD">6000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="Y21" decimals="INF" unitRef="Pure">0.004</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes contextRef="Y20" decimals="INF" unitRef="USD">0</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="Y20" decimals="INF" unitRef="Pure">0</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y21" decimals="INF" unitRef="USD">301000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="Y21" decimals="INF" unitRef="Pure">0.213</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y20" decimals="INF" unitRef="USD">15000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="Y20" decimals="INF" unitRef="Pure">0.229</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="Y21">&lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr style="height:18pt"&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"/&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;20&lt;/b&gt;&lt;b&gt;21&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2020&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Depreciation and amortization&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;(1,196,119)&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;(1,295,804)&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Inventory&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;157,600&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;175,739&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Accrued vacation&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;74,037&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;70,787&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Allowance for doubtful accounts&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;38,250&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;38,250&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other, net&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;148&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(56)&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"/&gt;
&lt;td style="border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160; &#160;(926,084)&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$(1,011,084)&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment contextRef="E21" decimals="INF" unitRef="USD">1196119</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment contextRef="E20" decimals="INF" unitRef="USD">1295804</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxAssetsInventory contextRef="E21" decimals="INF" unitRef="USD">157600</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory contextRef="E20" decimals="INF" unitRef="USD">175739</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences contextRef="E21" decimals="INF" unitRef="USD">74037</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences contextRef="E20" decimals="INF" unitRef="USD">70787</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts contextRef="E21" decimals="INF" unitRef="USD">38250</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts contextRef="E20" decimals="INF" unitRef="USD">38250</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsOther contextRef="E21" decimals="INF" unitRef="USD">148</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther contextRef="E20" decimals="INF" unitRef="USD">-56</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet contextRef="E21" decimals="INF" unitRef="USD">926084</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet contextRef="E20" decimals="INF" unitRef="USD">1011084</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsValuationAllowance contextRef="E21" decimals="INF" unitRef="USD">0</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance contextRef="E20" decimals="INF" unitRef="USD">0</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock contextRef="Y21">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;4 - Profit Sharing Plan- &lt;/b&gt;The Company has a noncontributory profit sharing plan covering substantially all employees. &#160;Total expenses relating to the profit sharing plan amounted to $145,000 in 2021 and $120,000 in 2020.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="Y21" decimals="INF" unitRef="USD">145000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="Y20" decimals="INF" unitRef="USD">120000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:InterestAndOtherIncomeTextBlock contextRef="Y21">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;5 - Other Income- &lt;/b&gt;consists of the following:&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:159.15pt" valign="top"/&gt;
&lt;td style="background-color:#CEE7FF;width:63.65pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;20&lt;/b&gt;&lt;b&gt;21&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:68.55pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2020&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:159.15pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Interest income&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:63.65pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;19,797&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:68.55pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160; 94,956&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:159.15pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:63.65pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;35,760&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:68.55pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;53,508&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:159.15pt" valign="top"/&gt;
&lt;td style="width:63.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;55,557&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:68.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;148,464&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:InterestAndOtherIncomeTextBlock>
    <us-gaap:InterestAndOtherIncomeTableTextBlock contextRef="Y21">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:159.15pt" valign="top"/&gt;
&lt;td style="background-color:#CEE7FF;width:63.65pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;20&lt;/b&gt;&lt;b&gt;21&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:68.55pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2020&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:159.15pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Interest income&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:63.65pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;19,797&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:68.55pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160; 94,956&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:159.15pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:63.65pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;35,760&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:68.55pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;53,508&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:159.15pt" valign="top"/&gt;
&lt;td style="width:63.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;55,557&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:68.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;148,464&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:InterestAndOtherIncomeTableTextBlock>
    <us-gaap:InvestmentIncomeInterest contextRef="Y21" decimals="INF" unitRef="USD">19797</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest contextRef="Y20" decimals="INF" unitRef="USD">94956</us-gaap:InvestmentIncomeInterest>
    <us-gaap:OtherNonoperatingIncome contextRef="Y21" decimals="INF" unitRef="USD">35760</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingIncome contextRef="Y20" decimals="INF" unitRef="USD">53508</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="Y21" decimals="INF" unitRef="USD">55557</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="Y20" decimals="INF" unitRef="USD">148464</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="Y21">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;6 - Segment Information- &lt;/b&gt;The Company operates in the United States in two business segments as determined by its products. &#160;The fastener segment, which comprises H &amp;amp; L Tool and the parent company&#x2019;s fastener operations, includes rivets, cold-formed fasteners and parts and screw machine products. &#160;The assembly equipment segment includes automatic rivet setting machines and parts and tools for such machines. &#160;Information by segment is as follows:&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;margin-left:-3.6pt"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="middle"/&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Fastener&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Assembly Equipment&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Other&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Consolidated&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&lt;b&gt;Year Ended December 31, 2021:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;color:#E36C0A"&gt;&lt;span style="color:#000000"&gt;Net Sales&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;29,831,388&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;4,143,170&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;33,974,558&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Depreciation&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,161,596&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;134,957&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;22,001&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,318,554&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment operating profit&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;2,384,486&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;997,048&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right"&gt;0 &lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;3,381,534&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Selling and administrative expenses&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,022,619)&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,022,619)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Other income&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;55,557&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;55,557&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Income before income taxes&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,414,472&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Capital expenditures&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;493,564&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;177,334&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;670,898&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment assets:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Accounts receivable, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,302,257&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;345,727&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,647,984&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Inventories, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;7,214,050&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,305,730&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;8,519,780&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Property, plant and equipment, net&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;9,782,324&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,433,905&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,257,635&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;12,473,864&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Other assets&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,124,630&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,124,630&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;31,766,258&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Year Ended December 31, 2020:&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;color:#E36C0A"&gt;&lt;span style="color:#000000"&gt;Net Sales&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;24,607,863&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;2,982,790&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;27,590,653&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Depreciation&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,182,555&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;131,826&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;32,924&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,347,305&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment operating profit&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,531,933&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;513,250&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right"&gt;0 &lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;2,045,183&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Selling and administrative expenses&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,128,197)&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,128,197)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Other income&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;148,464&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;148,4640&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Income before income taxes&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;65,450&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Capital expenditures&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;614,835&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;13,924&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;195,377&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;824,136&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment assets:&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Accounts receivable, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,906,239&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;257,211&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,163,450&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Inventories, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,024,138&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,129,156&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,153,294&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Property, plant and equipment, net&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;10,479,720&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,568,862&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,102,302&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;13,150,884&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Other assets&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;7,770,443&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;7,770,443&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;31,238,071&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;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 Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company does not allocate certain selling and administrative expenses for internal reporting, thus, no allocation was made for these expenses for segment disclosure purposes. &#160;Segment assets reported internally are limited to accounts receivable, inventory and long-lived assets. &#160;Certain long-lived assets of one plant location are allocated between the two segments based on estimated plant utilization, as this plant serves both fastener and assembly equipment activities. &#160;Other assets are not allocated to segments internally and to do so would be impracticable.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The following table presents revenue by segment, further disaggregated by end-market:&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Fastener &#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Assembly Equipment &#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Consolidated &#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;&lt;b&gt;Year Ended December 31, &lt;/b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;b&gt;:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Automotive&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;17,573,104&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;157,652&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;17,730,756&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Non-automotive&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt; 12,258,284&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt; 3,985,518&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt; 16,243,802&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Total net sales&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;29,831,388&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;4,143,170&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;33,974,558&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Year Ended December 31, 2020:&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Automotive&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;15,612,249&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;136,899&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;15,749,148&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Non-automotive&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt; 8,995,614&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt; 2,845,891&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt; 11,841,505&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Total net sales&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;24,607,863&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;2,982,790&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;27,590,653&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The following table presents revenue by segment, further disaggregated by location:&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Fastener &#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Assembly Equipment &#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Consolidated &#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;&lt;b&gt;Year Ended December 31, 20&lt;/b&gt;&lt;b&gt;21&lt;/b&gt;&lt;b&gt;:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;United States&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;24,280,114&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;4,053,102&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;28,333,216&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Foreign&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;5,551,274&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;90,068&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;5,641,342&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Total net sales&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;29,831,388&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;4,143,170&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;33,974,558&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Year Ended December 31, 2020:&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;United States&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;20,743,296&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;2,804,476&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;23,547,772&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Foreign&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;3,864,567&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;178,314&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;4,042,881&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Total net sales&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;24,607,863&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;2,982,790&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;27,590,653&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;Sales to one customer in the fastener segment accounted for 13% of consolidated revenues during 2021 and 14% in 2020. &#160;The accounts receivable balance for this customer accounted for 16% and 17% of consolidated accounts receivable as of December 31, 2021 and 2020, respectively. &#160;Sales to a second customer in the fastener segment accounted for 11% of consolidated revenues during 2021 and 12% in 2020. &#160;The accounts receivable balance for this customer accounted for 11% and 15% of consolidated accounts receivable as of December 31, 2021 and 2020, respectively. &#160;Sales to a third customer were 12% of consolidated revenue in 2021 and 10% in 2020. The accounts receivable balance for this customer accounted for 18% and 15% of consolidated accounts receivable as of December 31, 2021 and 2020, respectively.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock contextRef="Y21">&lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;margin-left:-3.6pt"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="middle"/&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Fastener&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Assembly Equipment&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Other&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Consolidated&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&lt;b&gt;Year Ended December 31, 2021:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;color:#E36C0A"&gt;&lt;span style="color:#000000"&gt;Net Sales&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;29,831,388&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;4,143,170&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;33,974,558&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Depreciation&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,161,596&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;134,957&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;22,001&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,318,554&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment operating profit&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;2,384,486&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;997,048&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right"&gt;0 &lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;3,381,534&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Selling and administrative expenses&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,022,619)&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,022,619)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Other income&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;55,557&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;55,557&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Income before income taxes&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,414,472&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Capital expenditures&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;493,564&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;177,334&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;670,898&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment assets:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Accounts receivable, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,302,257&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;345,727&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,647,984&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Inventories, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;7,214,050&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,305,730&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;8,519,780&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Property, plant and equipment, net&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;9,782,324&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,433,905&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,257,635&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;12,473,864&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Other assets&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,124,630&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,124,630&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;31,766,258&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Year Ended December 31, 2020:&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;color:#E36C0A"&gt;&lt;span style="color:#000000"&gt;Net Sales&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;24,607,863&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;2,982,790&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;27,590,653&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Depreciation&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,182,555&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;131,826&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;32,924&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,347,305&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment operating profit&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,531,933&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;513,250&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right"&gt;0 &lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;2,045,183&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Selling and administrative expenses&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,128,197)&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,128,197)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Other income&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;148,464&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;148,4640&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Income before income taxes&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;65,450&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Capital expenditures&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;614,835&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;13,924&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;195,377&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;824,136&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment assets:&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Accounts receivable, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,906,239&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;257,211&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,163,450&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Inventories, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,024,138&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,129,156&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,153,294&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Property, plant and equipment, net&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;10,479,720&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,568,862&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,102,302&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;13,150,884&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Other assets&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;7,770,443&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;7,770,443&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;31,238,071&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; </us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:Revenues
      contextRef="Y21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">29831388</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Y21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">4143170</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Y21_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</us-gaap:Revenues>
    <us-gaap:Depreciation
      contextRef="Y21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">1161596</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Y21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">134957</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Y21_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">22001</us-gaap:Depreciation>
    <fil:SegmentOperatingProfit
      contextRef="Y21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">2384486</fil:SegmentOperatingProfit>
    <fil:SegmentOperatingProfit
      contextRef="Y21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">997048</fil:SegmentOperatingProfit>
    <fil:SegmentOperatingProfit
      contextRef="Y21_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</fil:SegmentOperatingProfit>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">0</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">0</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y21_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">-2022619</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">0</us-gaap:InterestAndOtherIncome>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">0</us-gaap:InterestAndOtherIncome>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y21_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">55557</us-gaap:InterestAndOtherIncome>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">493564</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">0</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y21_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">177334</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">5302257</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">345727</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E21_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="E21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">7214050</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="E21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">1305730</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="E21_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">9782324</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">1433905</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E21_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">1257635</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OtherAssets
      contextRef="E21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">0</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="E21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">0</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="E21_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">5124630</us-gaap:OtherAssets>
    <us-gaap:Revenues
      contextRef="Y20_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">24607863</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Y20_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">2982790</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Y20_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</us-gaap:Revenues>
    <us-gaap:Depreciation
      contextRef="Y20_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">1182555</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Y20_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">131826</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Y20_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">32924</us-gaap:Depreciation>
    <fil:SegmentOperatingProfit
      contextRef="Y20_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">1531933</fil:SegmentOperatingProfit>
    <fil:SegmentOperatingProfit
      contextRef="Y20_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">513250</fil:SegmentOperatingProfit>
    <fil:SegmentOperatingProfit
      contextRef="Y20_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</fil:SegmentOperatingProfit>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y20_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">0</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y20_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">0</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y20_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">-2128197</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y20_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">0</us-gaap:InterestAndOtherIncome>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y20_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">0</us-gaap:InterestAndOtherIncome>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y20_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">148464</us-gaap:InterestAndOtherIncome>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y20_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">614835</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y20_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">13924</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y20_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">195377</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E20_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">4906239</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E20_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">257211</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E20_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="E20_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">4024138</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="E20_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">1129156</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="E20_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E20_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">10479720</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E20_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">1568862</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E20_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">1102302</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OtherAssets
      contextRef="E20_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">0</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="E20_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">0</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="E20_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">7770443</us-gaap:OtherAssets>
    <us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="Y21_ProductOrService-EndMarket">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Fastener &#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Assembly Equipment &#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Consolidated &#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;&lt;b&gt;Year Ended December 31, &lt;/b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;b&gt;:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Automotive&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;17,573,104&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;157,652&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;17,730,756&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Non-automotive&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt; 12,258,284&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt; 3,985,518&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt; 16,243,802&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Total net sales&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;29,831,388&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;4,143,170&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;33,974,558&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Year Ended December 31, 2020:&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Automotive&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;15,612,249&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;136,899&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;15,749,148&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Non-automotive&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt; 8,995,614&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt; 2,845,891&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt; 11,841,505&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Total net sales&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;24,607,863&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;2,982,790&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;27,590,653&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-Automotive_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">17573104</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">157652</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-Automotive"
      decimals="INF"
      unitRef="USD">17730756</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-Nonautomotive_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">12258284</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">3985518</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-Nonautomotive"
      decimals="INF"
      unitRef="USD">16243802</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">29831388</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">4143170</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y21" decimals="INF" unitRef="USD">33974558</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y20_ProductOrService-Automotive_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">15612249</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y20_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">136899</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y20_ProductOrService-Automotive"
      decimals="INF"
      unitRef="USD">15749148</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y20_ProductOrService-Nonautomotive_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">8995614</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y20_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">2845891</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y20_ProductOrService-Nonautomotive"
      decimals="INF"
      unitRef="USD">11841505</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y20_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">24607863</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y20_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">2982790</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y20" decimals="INF" unitRef="USD">27590653</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="Y21_StGeo-Location">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Fastener &#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Assembly Equipment &#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Consolidated &#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;&lt;b&gt;Year Ended December 31, 20&lt;/b&gt;&lt;b&gt;21&lt;/b&gt;&lt;b&gt;:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;United States&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;24,280,114&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;4,053,102&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;28,333,216&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Foreign&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;5,551,274&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;90,068&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;5,641,342&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Total net sales&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;29,831,388&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;4,143,170&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;33,974,558&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Year Ended December 31, 2020:&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;United States&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;20,743,296&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;2,804,476&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;23,547,772&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Foreign&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;3,864,567&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;178,314&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;4,042,881&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Total net sales&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;24,607,863&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;2,982,790&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;27,590,653&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_StGeo-UnitedStates_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">24280114</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_StGeo-UnitedStates_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">4053102</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_StGeo-UnitedStates"
      decimals="INF"
      unitRef="USD">28333216</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_StGeo-Foreign_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">5551274</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_StGeo-Foreign_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">90068</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y21_StGeo-Foreign" decimals="INF" unitRef="USD">5641342</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">29831388</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">4143170</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y21" decimals="INF" unitRef="USD">33974558</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y20_StGeo-UnitedStates_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">20743296</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y20_StGeo-UnitedStates_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">2804476</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y20_StGeo-UnitedStates"
      decimals="INF"
      unitRef="USD">23547772</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y20_StGeo-Foreign_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">3864567</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y20_StGeo-Foreign_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">178314</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y20_StGeo-Foreign" decimals="INF" unitRef="USD">4042881</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y20_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">24607863</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y20_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">2982790</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y20" decimals="INF" unitRef="USD">27590653</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Y21_MajCust-TIGroupAutomotiveSystems"
      decimals="INF"
      unitRef="Pure">0.13</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Y20_MajCust-TIGroupAutomotiveSystems"
      decimals="INF"
      unitRef="Pure">0.14</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:AdditionalInformationAboutEntitysReportableSegments contextRef="Y21_MajCust-TIGroupAutomotiveSystems">16</us-gaap:AdditionalInformationAboutEntitysReportableSegments>
    <us-gaap:AdditionalInformationAboutEntitysReportableSegments contextRef="Y20_MajCust-TIGroupAutomotiveSystems">17</us-gaap:AdditionalInformationAboutEntitysReportableSegments>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Y21_MajCust-CooperStandardHoldingsInc"
      decimals="INF"
      unitRef="Pure">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Y20_MajCust-CooperStandardHoldingsInc"
      decimals="INF"
      unitRef="Pure">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:AdditionalInformationAboutEntitysReportableSegments contextRef="Y21_MajCust-CooperStandardHoldingsInc">11</us-gaap:AdditionalInformationAboutEntitysReportableSegments>
    <us-gaap:AdditionalInformationAboutEntitysReportableSegments contextRef="Y20_MajCust-CooperStandardHoldingsInc">15</us-gaap:AdditionalInformationAboutEntitysReportableSegments>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Y21_MajCust-ParkerHannifinCorporation"
      decimals="INF"
      unitRef="Pure">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Y20_MajCust-ParkerHannifinCorporation"
      decimals="INF"
      unitRef="Pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:AdditionalInformationAboutEntitysReportableSegments contextRef="Y21_MajCust-ParkerHannifinCorporation">18</us-gaap:AdditionalInformationAboutEntitysReportableSegments>
    <us-gaap:AdditionalInformationAboutEntitysReportableSegments contextRef="Y20_MajCust-ParkerHannifinCorporation">15</us-gaap:AdditionalInformationAboutEntitysReportableSegments>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="Y21">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;7 - Commitments and Contingencies- &lt;/b&gt;The Company recorded rent expense aggregating approximately $27,000 and $23,000 in 2021 and 2020, respectively. &#160;Total future minimum rentals at December 31, 2021 are not significant.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company is, from time to time involved in litigation, including environmental claims, in the normal course of business. &#160;While it is not possible at this time to establish the ultimate amount of liability with respect to contingent liabilities, including those related to legal proceedings, management is of the opinion that the aggregate amount of any such liabilities, for which provision has not been made, will not have a material adverse effect on the Company's financial position.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:OperatingLeasesRentExpenseNet contextRef="Y21" decimals="INF" unitRef="USD">27000</us-gaap:OperatingLeasesRentExpenseNet>
    <us-gaap:OperatingLeasesRentExpenseNet contextRef="Y20" decimals="INF" unitRef="USD">23000</us-gaap:OperatingLeasesRentExpenseNet>
    <us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock contextRef="Y21">&lt;p style="font:10pt Arial;margin:0;color:#000000"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&lt;span style="font-family:Arial"&gt;&lt;b&gt;8&lt;/b&gt;&lt;b&gt; - COVID-19&lt;/b&gt;&lt;b&gt;-&lt;/b&gt;&lt;b&gt; &lt;/b&gt;In March 2020, the World Health Organization characterized the novel coronavirus (&#x201c;COVID-19&#x201d;) a pandemic and the President of the United States declared the COVID-19 outbreak a national emergency. &#160;The rapid spread of the virus and the response domestically and internationally to combat it had a significant negative impact on the global economy, including the automotive industry upon which we rely for sales. &#160;Beginning in March 2020, most states issued executive orders which temporarily closed businesses deemed non-essential in an effort to prevent the spread of the coronavirus. &#160;Similar measures also took place in foreign markets we serve. &#160;As a result, our operations and the operations of our customers and suppliers were adversely affected. &#160;Since some of our customers are classified as essential businesses and were allowed to continue to operate during this period, we were able to continue our operations, but at a significantly reduced and less efficient level, in order to service those customers. &#160;Our automotive customers were particularly affected, as much of the sector was idled for an extended period of time during the second quarter of 2020 due to employee safety concerns. &#160;While most shutdown orders were lifted late in that quarter, various work-related restrictions remained in place for some time resulting in widespread economic disruption. &#160;During this period of rapidly changing business conditions and heightened uncertainty resulting from COVID-19, we took measures to reduce expenses and conserve capital, including reduced work schedules, delayed capital expenditures and a reduction in dividend payments. &#160;In the second half of 2020, we experienced improved demand as certain government-imposed restrictions were relaxed and there was further improvement in 2021 as vaccines against the virus became widely available. &#160;The pandemic continues to disrupt and have unpredictable impacts on our operations and the markets we serve, most notably in terms of labor shortages, supply chain disruptions and high inflation. &#160;These factors make the timing and sustainability of any broad economic recovery uncertain and will likely remain tied to the course of the pandemic. &#160;As we cannot predict the duration or scope of the COVID-19 pandemic, or its broader impact on the global economy, including the demand for automobiles, it is unknown what the impact of COVID-19 and its related effects will be on our business, results of operations or financial condition, but the impact could be material and last for an extended period of time.&lt;/span&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;color:#000000"&gt;&#160;&lt;/p&gt; </us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock>
    <us-gaap:ScheduleOfSubsequentEventsTextBlock contextRef="Y21">&lt;p style="font:10pt Arial;margin:0;color:#000000"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;color:#000000"&gt;&lt;b&gt;9 - Subsequent Events- &lt;/b&gt;On February 21, 2022, the Board of Directors declared a regular quarterly dividend of $0.22 per share, or $212,549, payable March 18, 2022 to shareholders of record on March 4, 2022.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;color:#000000"&gt;&#160;&lt;/p&gt; </us-gaap:ScheduleOfSubsequentEventsTextBlock>
    <us-gaap:DividendsPayableDateDeclaredDayMonthAndYear contextRef="Y21">2022-02-21</us-gaap:DividendsPayableDateDeclaredDayMonthAndYear>
    <us-gaap:DividendsPayableAmountPerShare contextRef="E21" decimals="INF" unitRef="UsdPerShare">0.22</us-gaap:DividendsPayableAmountPerShare>
    <us-gaap:DividendsPayableCurrent contextRef="E21" decimals="INF" unitRef="USD">212549</us-gaap:DividendsPayableCurrent>
    <us-gaap:DividendPayableDateToBePaidDayMonthAndYear contextRef="Y21">2022-03-18</us-gaap:DividendPayableDateToBePaidDayMonthAndYear>
    <us-gaap:DividendsPayableDateOfRecordDayMonthAndYear contextRef="Y21">2022-03-04</us-gaap:DividendsPayableDateOfRecordDayMonthAndYear>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>61
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M?!^2!F.,6_0T7X\48JVFL:W&VC$,>8!8\PRA9CC?AT6:&C/5BZPYC0IO0=5
MY3_;U UH]@TT')$%7C&9MC:CY$X*/-S^[PVPPL2.X>V+OP%02P,$%     @
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
ME[D'_?*/K B%1;Q49[;\BUXJ6SQ"Z<XZO:F< <%&Y?O_XK5*Q)$#"7H<:.5
M+W5@E0,KB>Z1E;3NA!.SJ=$OR!36$*VX*'-3>@,;E1?;N' &GBKP<[-;G5N=
MJ:5P<HD^BDSDJ42+(IQ%[]&WQ1WZ\]U?TXF#I0J'25J%_;@/2WO"WLGT"C$R
M1A13XG&_O=P=G[I/@&#-DM8L:1F/];'<&2-SAVZL!6(# 5D=D)4!@[Z PJZ1
MR)>HO/CT:Z>>108K6%^J]J'",E1QK)YG%+.(A\%T\GR<$X]=&,4Q([7="=:@
MQAH,8Y7&J95*88LMTBMT)[?:*N=#N@\4'2.( X(Q;B'MV@4Q8\=V)TC#&FDX
MB/0F3?4.DH@>9"HAHX^9A"+\+*U%(H.&4Q1G2>$=B?&X7*[+(>Q@"Z,@YDD[
MVQX[$K$@[.$0U1RB00[W^3/4@39*VC'*I3?-46?I)"0\3MII[MJ%)&24!WZ(
M<0TQ'H0X-W(KU!+=YZG>2/15O$IOW<;=70[:$+LV2<B#GAPF-<!D$. 7MY8&
M#1W:/<"DLS@+(LJB%D:/6<+BF/I!\AHD'P3Y53N170"2=U8GG'+*>+L@/88)
M3F*2Q'Z@!#<]'I_9<)!]X][&: X-WI6-J^A96]!CUUNE5= 30!3.>1*UD?LL
M&0EQDO14*CF2)W)!EONS6[F?;"Z)HXB&21NDSY*R!,<]_94TZD(NDY?/2CRJ
M3#G5/D^G<1N1(<,J4_?#N7@KFJ$W :Q#*^(T8F&;?M<NB** ]NU0HRYD6%X
MI-G!\/ #ICY;EM8"Q@C3R4$%MRL=(>:,T39<C\0D,)LF/7 ;B2'#&K/O+0?0
MGUYA'K8]4+L*P2!CI%-8'CM*>=0'M5$2,BPEWW(I3 XH'R1HRD[N!XYR)@0*
ME8S[H7>5@V%ZO-D5]*X=#7C ^Z W"D.&)>:T.?:>BPIM5T2@Z>$$\S9<CV%(
M<=*+MQ$<,JPX=W(E >NI)O9WQJZBP)'#G1'#8T<P(;BW+3;:0RX1GW-Y[2H*
MC:$N.6OC]!B&C/"D1R)IHSP4#W;&Q5H8N=;94AK[1ZDY[FUHGF]T@0[K LPP
MU8XMG$Y_CM%_&KJD0=]%MI-C%.)R/D3E^A;=[-P:1K+?<OD!#'.)ONR<=7"<
M5/[DRQSM:D5[\!DT.25U])9"AR=UO=G JVW%Z!VY @9'I(*"4A\M,B8L&6,>
M'1[>6PL=;HQX%,$C>OCY''/:+5D(#'';_,\;GF:A43UZ1O662U6\XD.!SV%,
M?:]R>,O:*BAX+V"/K@4Q8>VS>-[N%&ZC?W18_QZD$ZKHTI^@64-6O4>1=N6,
M$89A6&V?1:\E#B@/>\9 VD@?'9:^KT8*NS-OAP(C,1GS*#A4AG HU=;;\&A7
MXMXS3BGF;3&\Q/(4?B.'=%@.]SWO?$>I('ND+>$19U%[,O):QACZ.>^!W,@@
MO40&C]KT?CZZE$+<^2#0,]MZ+;VS[>3H4U'QG>Y?89Y4;E$F5^"*KV*(8?:?
MOO8W3F_+KT>/VL'<45ZNI0#HA0$\7VGM#C?%!ZGZ ^3L?U!+ P04    "  H
M@'544,%';=@"  !0"0  &    'AL+W=O<FMS:&5E=',O<VAE970S+GAM;)V6
M76_:,!2&_XH5[6*36/,% 2I HJFF5=HT5-3NVB0'8M6QF>U UU\_VTFS! *T
MY0+LY+ROGW-RC#/9<_$D,P"%GG/*Y-3)E-I>NZY,,LBQO.);8/K.FHL<*ST5
M&U=N!>#4BG+J!IX7N3DFS)E-[+6%F$UXH2AAL!!(%GF.Q=\;H'P_=7SG]<(]
MV63*7'!GDRW>P!+4PW8A],RM75*2 Y.$,R1@/77F_G7L>T9@(QX)[&5CC$PJ
M*\Z?S.0NG3J>(0(*B3(66/_L( 9*C9/F^%.9.O6:1M@<O[I_L\GK9%980LSI
M;Y*J;.J,')3"&A=4W?/]=Z@2&AB_A%-IO]&^C!U$#DH*J7A>B35!3ECYBY^K
M0C0$?O^$(*@$P5L%824(;:(EF4WK%BL\FPB^1\)$:S<SL+6Q:IT-8>8Q+I70
M=XG6J5G,F>24I%A!BFXPQ2P!M#1V$GU%"RR J0P423#5\X?E+?K\Z<O$57II
M8^ FU3(WY3+!B65N(;E"H=]#@1?X'?+X[7*O+7=UPG7609UU8/W"DWX*$RK/
M.(6U4VB=^B><YDG""Z:+=0\)D!U>4>BA.=6[PU92[S,4"TB)0C^XE#T4%\*4
MM*N"Y4(#NY#9?;N9/_3T9^+NFI6Z&-;*HU_GT3^;QT+O'M!H*5HJGCSUS*-'
M&GZI;&<\8EH 6H"^D.F>Z,+O'W$=DI^+:$$/:NC!^Z MG$3S0F5<D!=(NT!+
MSZB!,? ZZGPQK(4<U<C1AY!_%4HJS%+"-EW,T1',(>ZYB!;IL"8=GB6->9[K
M_]F/ML/PN$T/B,]%M(A'-?'H'<1OZH714=7Z7E<S7(YK$8]KXO&[B7OH3LJB
M&W=\A.'[X<@;1P>XE^-:N+[W_[3P/@!\H7DKSR;..(K\,#B@OAQ74KN-X\Z\
M:_S$8D.81!366NA=#75/B?+X+B>*;^T)N.)*GZ=VF.E7'A F0-]?<ZY>)^90
MK5^B9O\ 4$L#!!0    ( "B =516YV^(9P,  .(*   8    >&PO=V]R:W-H
M965T<R]S:&5E=#0N>&ULG99MCYLX$,>_BH7N14^Z!IMGJB32)MOV5KJV4=/V
M7GN#$U !I[:SV7[[&QO"$G!H=7D1;#/SGY_'V)[YF8OO,F=,H>>JK.7"R94Z
MOG%=N<M91>6,'UD-;_9<5%1!5QQ<>12,9L:I*ET/X\BM:%$[R[D9VXCEG)]4
M6=1L(Y \5145/U>LY.>%0YS+P.?BD"L]X"[G1WI@6Z:^'C<">FZGDA45JV7!
M:R38?N'<D3=KXFL'8_&M8&?9:R,]E4?.O^O.0[9PL"9B)=LI+4'A\<36K"RU
M$G#\:$6=+J9V[+<OZN_,Y&$RCU2R-2__+3*5+YS$01G;TU.I/O/SWZR=4*CU
M=KR4YA^=&]L@<-#N)!6O6F<@J(JZ>=+G-A$]!Q+=</!:!V_H<"N"WSJ8S+D-
MF9G6/55T.1?\C(2V!C7=,+DQWC";HM;+N%4"WA;@IY9K7DM>%AE5+$-;!0]8
M(R41WZ.'>L<KAEZCK]M[].J//^>N@H#:S=VUXJM&W+LA3CST@=<JE^AMG;'L
M6L %T@[7N^"NO$G%>[:;(9_\A3SL$0O0^O?=\02.WV7/-WK^_\W>1(R@BQ&8
M&,&-&!]A+V]IR:0M_XUK:%SUCGU:^GX:!V&8S-VG?E[&AEX<IC@*_<[PBB[L
MZ,))NC672D_W/>>91%M>9C;,1B.ZCH[3((H&F!9#+XK#("1VS*C#C"8QWPLN
M)=H(OB^4#3 :Q8V"" B] =_8+DA)"%^3'2_N\.))O"T<8T5]0+3.T%T&V[R0
M2E!]P*&WSW!B2_OJQR.:D."(Q/& >FP7I&GBD<A.G734R23UIR/3D,#=)!:]
M^@>R;#TGDA$!\<,$4C<@'=N]3GQ, CMHVH&FTZ J9\*Z(QNZ=)Q'^ VS.+8B
M01)$-]@(?CF!\21=>\ZN&%S*['+J?J'/]C5OQ:XQ2!#$PT_58AC!1L(W<'L7
M!IG$A;5^*LPM#KR_QB4C"EA/C/&0=FQ'PK[9-:WW0NO]\O2\O?"M<_]8)(3X
MEF2.#4-\.YDO]P?Q?Q,/;> 3W>94V$$;F;@/.AOM'HL5GN%P .GVJH6*B8,I
MHB3:\5.MFINX&^T*M3M3G@S&5[J ,U7(BTQ3_7V@XE#4$I5L#Y)X%D/B1%-0
M-1W%CZ8F>>0**AS3S*$(94(;P/L]Y^K2T0&ZLG;Y'U!+ P04    "  H@'54
M] %_I=(#  !>#P  &    'AL+W=O<FMS:&5E=',O<VAE970U+GAM;*U7VV[;
M.!3\%4)8H"VPB4C=5=@&&M_:ARZ,>-M]9BS:)B*)+DG'S=^7E!3%DB@Y@??%
MNGCF<'AXAD<<G1A_%'M")/B=I;D86WLI#Y]M6VSV),/BEAU(KO[9,IYAJ1[Y
MSA8'3G!2D++4=B ,[ S3W)J,BG<K/AFQHTQI3E8<B&.68?Y\1U)V&EO(>GEQ
M3W=[J5_8D]$![\B:R!^'%5=/=ATEH1G)!64YX&0[MKZ@STOD:4*!^$G)29S=
M SV5!\8>]<.W9&Q!K8BD9"-U"*PN3V1*TE1'4CI^54&M>DQ-/+]_B;XH)J\F
M\X %F;+T/YK(_=B*+)"0+3ZF\IZ=OI)J0KZ.MV&I*'[!J<3Z"KPY"LFRBJP4
M9#0OK_AWE8@S G)["$Y%<-J$H(?@5@3WK2-X%<%K$9RPA^!7!+\]0M^D@XH0
MM E^#R&L"&&Q6&5VBZ6988DG(\Y.@&NTBJ9OBO4MV&I%:*Y+<2VY^I<JGIQ,
M62Y82A,L20+64EU4G4D!V!:L]YB3/4L3PL4',/]UI/(9W( ?ZQGX^->GD2W5
M\#J(O:F&NBN'<GJ&^I=)G!IHTV':2M4FX;R0QS:/A@"SX0!3EF6JZ/O8\V'V
MER2AVC0X!2M,DQN:@RD^4/-4%L.Q[HE4FX.:R1SSG.8[80BQO)!$M=^((W\V
M3<=6:U\7@%,7@%,$]'H"WI$=S;48<(=3G&\(P!+,R.86N.AOX$ 4FU:ZC.D7
M,?5N]S1Q8N1'T E']M/YVG:!L(F8=1$(N1&,@R9NWL5Y7HA<KPE;=&$N\F(O
MBOTF<-D%WKBQX\ XJH&-A+IU0MW!A)Z76^DA\9:4SLJHP9F>. B0ZYC5>+4:
M;U!-LU[>H6?I=?2@$,6!9];CUWK\03W_J.[Z+=^PC)C*RN^,Z4//;U7,XA*J
M(2RHA06#PF;TB28D3X3.3*JRE)@$!IVA;WSHN%'4DG@9UQ 9UB+#09'S/.EW
MJ@--BL.N4Z,0!C"*6TX-.Y+;3NV&,CNU&\GHU"[,1=!S8K^UARR[XPX[-:JS
M&5WI5'-*HTM.+=-U$=80'=>BXZL-;92]C-]E: 1?OR#@%9:NR,VJ4<40MM*U
MJ(#! + I\.P3!_T/UJZ"-#P;^6IS#-I"+P.;0E];,1KNQ</V1D;5ADX<Q4'L
M!JU^-S4@VP8W0,P.-P"-%C?@7.3"P''=EL<-R&&3H]=^C*YMR#VIO=B1JZR]
MKW.CU]:-KN_=1NE+],;F;9\='/3)\SOFZFM0@)1L%1'>AFH]>'F8*Q\D.Q1G
MB0<FU<FDN-VK S#A&J#^WS(F7Q[T\:0^4D_^ %!+ P04    "  H@'54'.MG
M_3\"   A!0  &    'AL+W=O<FMS:&5E=',O<VAE970V+GAM;(U436_;, S]
M*X(Q8)<N<IRT*0K'0)-VV X%@@;;SJK%Q$+UD4I,TO[[4;+C9D52[&*)--\C
MGRBJW#O_'!H 9*]&VS#-&L3-#>>A;L"(,' ;L/1GY;P12*9?\[#Q(&0"&<V+
M/+_B1BB;567R+7Q5NBUJ96'A6=@:(_S;#+3;3[-A=G \JG6#T<&K<B/6L 3\
MM5EXLGC/(I4!&Y2SS,-JFMT.;^;C&)\"?BO8AZ,]BTJ>G'N.QD\YS?)8$&BH
M,3((6G8P!ZTC$97QTG%F?<H(/-X?V+\G[:3E2028._U'26RFV77&)*S$5N.C
MV_^ 3L]EY*N=#NG+]FWL9)*Q>AO0F0Y,%1AEVU6\=N=P!!A>G0$4':#X"!B?
M 8PZP"@);2M+LNX$BJKT;L]\C":VN$EGD]"D1MG8Q25Z^JL(A]7<V>"TD@)!
MLB720BW"P-R*+1OAH7%:@@]?V?W+5N$;^\86Y+78 *I::+*_,,Y"# TE1ZHH
M\O*ZRSYKLQ=GL@\+]N"(++![*T'^2\!)2J^G..B9%9\RWD$]8*/A!2OR8GBB
MH/G_P_-/RAGUQSM*?*.S?"B4#I\PC7NF<6(:GVV4,73ME^CJYPMVIW9*@I7A
M@BW MZTB+]2:-O)4(UKV26*/H[VK\L'U=<EWQX=S*NBRZ(/:POG1;3/@UVD(
M ZO=UF+;J-[;S_EMNMX?_#.:_W9<WVG:Q^-!^+6R@6E8$64^F%QFS+<#V1KH
M-NE./SFD"4G;AMXP\#& _J^<PX,1$_2O8O474$L#!!0    ( "B =53+*^+7
M_@4  %L7   8    >&PO=V]R:W-H965T<R]S:&5E=#<N>&ULI5A=3^,X%/TK
M5K4/( W3V,[GJ%2"PFA'FME!L.QH'TWB4N^D<<=Q"^ROW^LD)&WLA*)]H4FX
MMH_/_3C7GCU)];-<<:[1\SHORO/)2NO-I^FT3%=\S<J/<L,+^,]2JC73\*H>
MI^5&<995@];YE'A>.%TS44SFL^K;C9K/Y%;GHN W"I7;]9JIETN>RZ?S"9Z\
M?K@5CRMM/DSGLPU[Y'=<WV]N%+Q-VUDRL>9%*62!%%^>3R[PIP6E9D!E\9?@
M3^7>,S);>9#RIWGYDIU//(.(YSS59@H&/SN^X'EN9@(<OYI))^V:9N#^\^OL
MGZO-PV8>6,D7,O\A,KTZG\03E/$EV^;Z5C[]SIL-!6:^5.9E]1<]-;;>!*7;
M4LMU,Q@0K$51_[+GAHB] 3@<&$": :0_P!\80)L!%7/3&EFUK2NFV7RFY!-2
MQAIF,P\5-]5HV(THC!OOM(+_"ABGYPM9E#(7&=,\0W<:?L!'ND1RB1:L7*'/
MX.<2G:'[NRMT\MOI;*IA43-TFC8+7-8+D($%,$'?9*%7);HN,IX=3C %M"UD
M\@KYDHS.>,73CXCB#XAX!#L +8X?[HW H2V#M)J/#C'8T;14<HV^;[AB6A2/
MZ,*$J-""ER/+^.TR?K6,/[#,'Y#27XI4KKG+!_78H!IK,G<WQQA3/R*SZ6Z?
M&MLN\/S :ZT.H 4MM&"4@8OL'PC4.FZT1+<\E44J<HXZS.:[>:O(.KDO(=A$
M<8INE-P)B KT\/)>WL(67#C*VQ6'\I8*5A>-(D,7:ZFT^+?ZX**RGB[<IY+B
M. C\'I4N.S^B7N F,VKQ1J-XO\H2LJ] >L71'0,2(1.O?VW%QO#KPAM9. @.
MPCY:VVK Z7&+,WZ#UR57"ES7./A/]MSW5XTOME8^BP//\WH ;;,PWK<Z )FT
M()/QW%RQXI&7$&O[X566'"+5Q,)7P1Y$_E:H8:\KIMXH*1=I*K<F#2 'N-BQ
MAYQ_0 5W^JV9ZH 8/_8#VG>=RQ#"$=/030[>J_UX%.Z78@=!)15L?Q@FME>G
M- S]..SC=%B:$HVC 9RDPTE&<7Z'9%!HL85X*W3C/R=68N<DH1ZUD#KL@C <
MXK-3 DR/<_\->S&^=V*D=KZ2$%CJ8[3MSH@/, = =CJ"QX4$0*HMY.T/9C+#
M9 &4&::L%&C@^C;<B!(K1FVS,^Q'R5X=.H3;:0L.CO#]*^CK9^A?RP&H@87!
MI_OBUD"US<Y(B#T\@+03&CRN-/<%9ZH D+<<TFK+*VX750L'.P =DJ48B%M;
M2P*2$"ML;;,DC(,ABCO%P>.2\[^%N=F%K3%GV/,2/Z;]C=B6(:'QH LZ3<+Q
MNWHQ4^#*XWL*W.D*3D8I6["-T"ROXS$3>JL&.$EL3L+(BY.X3XG#,";#19YT
MFD3&-0E<F7*>-8P<W5806W6BV%)MA]6 9)-.E<BX*AT"7G#HUI8BA9-)=2II
M\L@)V18@'Q35[C4<AF$0^8/M!NF4BHPKU<U6I2LX5=8'J'= MQ4)JGU"'-@=
MEM!VTF'PG7R1<?EJZ\!^]K^=0LT.;+W"E,2)US^"N P]',9#4D$Z92/^N[+_
MLR@8'$2.S7[2:1(9UZ1JH2MA."HRH_8B<U+B4!IH?7'2+^PNP\"#BA@/4-)I
M$AG7I-:E364_@I,&NZTU ]@=AJ/8.UDB;\O2"9S6%8>$.C7GC.K)[*+:4B6O
MYL'4L1W4M,*MKL2A2P'UHBCJ;\4VA$-T3**!!I9TND2.T*6W\1[.WHD1&1>C
M2_XHBL+X%(K,W]"$.%FP!88$8131?N/I,,0^2?RA/H-V2D3'E>@:"!A!2&TM
M(="[)];)VV78V\HAPDYZ*![U4U<!(:71R2U?;DV"UZ<YGIVBI50C!][#53O1
MH..BT:TJ6/;&$@U5Q+K' 0$(AB2 [MUEC4M ?\?'H%DT<P8'XA40O]^Z3/>N
M*:$E?JQN;TM4G9GJZ[_V:WM#?%'=B_:^7^)/B_J>MYNFOG;^QA3D0HEROH0I
MO8\1@%+U36[]HN6FN@Q]D!KZ\NIQQ5G&E3& _R^EU*\O9H'V/GW^'U!+ P04
M    "  H@'546X^' \T'  !)$P  &    'AL+W=O<FMS:&5E=',O<VAE970X
M+GAM;+U8;6_C-A+^OK^"\.$.=X#CMR37[>8%2+*[:(#N-DBV[6=:&MOL4J1*
M4G9\O_Z>&4J*LG72PP%W7VQ+)F>>F7GFX4CG.Q^^Q@U14H^5=?%BM$FI?C>=
MQF)#E8X37Y/#/RL?*IUP&=;36 ?2I6RJ['0QF_US6FGC1I?G<N\N7)[[)EGC
MZ"ZHV%25#OMKLGYW,9J/NAOW9KU)?&-Z>5[K-3U0^KF^"[B:]E9*4Y&+QCL5
M:'4QNIJ_NS[A];+@%T.[./BM.)*E]U_YXK:\&,T8$%DJ$EO0^-K2#5G+A@#C
M]];FJ'?)&X>_.^L?)7;$LM21;KS]U91I<S%Z.U(EK71CT[W?_4!M/*=LK_ V
MRJ?:Y;6GWX]4T<3DJW8S$%3&Y6_]V.9AL.'M[(4-BW;#0G!G1X+RO4[Z\CSX
MG0J\&M;XAX0JNP'.."[*0PKXUV!?NIRK(_59IR:0\BMUW43\'Z/2KE0/9NW,
MRA3:)755%+YQR;BUNO/6%(;B^33!/UN9%JVOZ^QK\9*OA?KD7=I$]<&55#XW
M, 7P'OVB0W^]>-7B>RHFZG@^5HO98OZ*O>,^&\=B[_@%>Y]]^C:P9W9.>CLG
M8N?D_Y+55WUQU[Z+M2[H8H2VC!2V-+I4_SV" ]N.U%77M7P[;4C=^*K6;O^W
MO[Q=S+\[BRH.C.HGHW5G=.4M^C^^4W?!N,+4%O=@ZL:[B"6EYA8]4O>T)=<0
MO@L/>_GF3:#2)'5OXE=<Z+B1*.3'A]\;L]667,JAW5!(@B)E\^^I]M&D(_51
MFZ!^T;:1N#X:IP%"6W7K8@I-Q0:.< 'OR0?@/0)."%](^[&ZLQ(4S+.[FA<?
MO;F*$8IY T=KCZQ\B,E (JA4/T=:-5;]:%;TYD?>9*HZ^"V)#T[7\>SLM:_)
M1,U/5?+J9*;VI$-\<]T86R*9.<27S:GY[-F^3[K8H'Q Q_NHPW[0JQ*7\[?M
MUAM=FZ2M^1<"BGZ5=AJ$*'Q\(0)US+M/V\T_@1_A3_R]]I6MS=LPU)<GMN$4
MV+(L"P,+'<*>.;;MREKW):O[DO4PP,# R0,1Y'*W(0>V >BVIT]A0M%4,8$<
MX(]QI3 )WG1ZP:7&N2),J/1>.9_4D@"R0(&"7EI2J^ KV4H]05:-M%?!_%UQ
M3RAZK'%&X2^$C0[&>9+W&<!J(N4X&&4#QI8F"J?1&A,PENT *Z*!S0:(H_0>
MC/56_^B0JVE9#A"9.Q#9F.,:Y,IZK#51(D-;,BN05X !8,Y Q2[5<@\8IM@<
M2A4]%D1E+MR*>_$I@YR^..$R ]6./YQ7*9CUF@(;:.L3N))R@W?$*,"P?P!3
MMSU?4+5$8;MS0?*''[.)^A5%[VC"JL2)")0,%$:!'I"B<BP8 UDI%G->]D/3
MFJK)-TN"T$(^\E@A)BI4O'RJ-JK(R<>\T8EA'&<S(/$:HQ)[DZS"PJ"BWR09
MZXHF!(D4D,4A4O4)!A*QA*%2@3C^S%_,!["[I)1(,A(S=4LOU&R5XUE\F;S8
M1(^P6':48P6S4#")KMCHL,[L?$+!R8:0,[J2>5CXBM07_4BB$//%V;.^U75M
M)=](*%#0AJ<Z0*E\258Z4XC1RS):,(G$==E@GV-5D8Z@,O\Q5H4%^"SV4@>@
M9_8CJ^WIU2 _(7&RDWY478JC=$UV%U#<F*CN#K6T\T=RC41! >)X>-2!B."L
MG"RR=F!3(A@@Y58HB8M@'#/69/,[&1&%]%MMK @$!*TD .W5IJT9#CQPH?+<
MJ>8KV7WN5:YC+T>]^YVQEI4G8EY$O$QF)*3!J3GF(MF&CP\FI;>-; "$G@%U
M3=I&(22LK7,VVP004F!8Y?9]UB+"1*HY3<_3TQ;G*3M+".S*2%OR+<LLXF[*
M:I&C;$.4V$YG?^UB!;XE9<SM*=340 6N)BOEGZBK/VGVY^"Z:C"-V_2%S&Z(
MS0M$05H39HU#",W&^_(_03EL@HZP<K0 #K72@N<K;46.NIHDQC30@4$VI?%R
M&WG726#N/E[%HN\B?2NGL8$LM_^Q]YPJE#S+XI<# ]V*2O2Z'1J'4C;!Q;Y?
M%S,,#&D3?+/>B"59E4]M3FULEK]!!3D<>M3(ONZ:@W??<@X0>3_T/6!T->B$
MOS.&Q>SL]OY!?LW/_L'*;= M)A^T2^%^--Q 4DX-;&63G_,@MQ:U@5Z'7,%6
MC!G&H<GU]4RC5YHD&<BG/4 -@X$F:8>'5]&JTB.YW*$8/C#UUCP[B/J5OZ$Q
M!X*\$XCM48]J@&-8&UCY(+9N31W6O$28/I!>I/])*KD;3=?4@_@FZK,7'6U8
M4S8::KLDG'Y9Z%N)<"_.\P?*OS*6I]!,E]8R;[>FPK#80G,'K3%3N#_GW_?]
M^1K!1,] 5\-"[D",.N4NGY]*ER_D\[BS=3(>'+AV?YC/<J3\;]B\U<'XIG.A
MF[3!,X0TM/ OBU_B=N?321Z+4&PO)?BI2'Z@7R?/)0/ZV X -H^7F/!X9'WN
MGU<^][W/T^Y3L'43T#&4QP0W( :O^T-JVDH?8,T$Q5@+V6]=?B,DCVB?*74S
MP!WP/6!BH"-^%&)^=,]&D9_O"OKFJ3-XYUF VV>P0P_?T\'KC8IPBO!+G*C$
M1G[3T=_MWQ-=Y=<C3\OS2Z9/.(0,BFYIA:VSR7>G(Q7RBYM\D7PM+TN6/B5?
MR<\-:22=%^#_E?>INV '_=NSRW\#4$L#!!0    ( "B =50E]3^D.@0  $P)
M   8    >&PO=V]R:W-H965T<R]S:&5E=#DN>&ULK5;?;^,V#'[W7T$8?>@!
MOD:RY5]!$J!I>]@!ZU:TV/59L95$.-O*27+3WE\_2G9RV7;M.F /<6B)_,B/
M%$7/]DI_-5LA+#RW36?FX=;:W70R,=56M-Q<J)WH<&>M=,LMONK-Q.RTX+4W
M:IM)3$@V:;GLPL7,K]WIQ4SUMI&=N--@^K;E^F4I&K6?AS0\+-S+S=:ZA<EB
MMN,;\2#L'[L[C6^3(THM6]$9J3K08CT/+^ETR9R^5_@BQ=Z<R."8K)3ZZEX^
MU_.0N(!$(RKK$#C^/8DKT30.",/X-F*&1Y?.\%0^H'_RW)'+BAMQI9I'6=OM
M/"Q"J,6:]XV]5_M?Q,@G=7B5:HQ_PG[0C;,0JMY8U8[&&$$KN^&?/X]Y.#$H
MR"L&\6@0^[@'1S[*:V[Y8J;5'K331C0G>*K>&H.3G2O*@]6X*]'.+F+X"$O>
M\*X2\.!/P;6P7#9F-K$([Y0FU0BU'*#B5Z!H#+>JLUL#-UTMZK\"3#"N8W#Q
M(;AE_";BM:@N(*$1Q"2F;^ E1[*)QTM>P?M-66'>P&%''.9QV/^1M#>A7,]-
MS8Y78AYB4QFAGT2X@%<=!)@2T:Z$/J8%_KY"@L_=D^BLTE*8:7#/]WA>K-"2
M-P;.@$492Z,R3E".HQCEG)3!([8.R YV6E7"&-RA!8U8F@,^*8F*K @^R4[B
M0:MAHU3M5!+"(D8(2J3,HISF01E1C"(O""!LFD1QR8(OO.FY'7K8\S-PGE&T
M(>0#2H1X*3B#(DIIZ8W/T)R.YN\A?*?QDM+V)8([S)D%WM5P\ZV7.[P]; 2=
ML-/@5[?H?K)%DD_";;E\8+AY$16T]'*6(!%6!LM>-K7L-N:?)@6F)8O*(G$!
M)RQ*D/<MK[986/WBU<7!-21IE-$BRI/4B;1D4<E8<,5WTO)&?L=<&K6V>ZZ%
M-U1VB[1H1#(2)7GI)*P/B?. H4>*UC0#%!G%G20/+JNJ;_L&JUOC383GIY)#
MIL\Q+L90*8TQQPEF$A$QHR[-F'J6)UA1YA@GN(SE+=Z7Z-]]@.A6]^CRYAE'
M@W&'# NPEA;,EFM,&NRP"E#A7:#EJO<!H2?'A+C:TMB7_%@UL/P9#T5!,,H2
M"A:E.0DNFV9,A[2B-6A.(\HP)9C.I"R01Y*Y1!0(F,1Q5.(!?0\#Q%5[WU<X
MT.!:]2N[[AM'2?58W6EP:#MN824VLNL<(;6&%\&U"SXG!QILH'&%I#<8OU5@
M+);"%QX-9%>I5@!QE<]S%CQJ9/)1K=<&U\[]VH=3;\(=@)_Y&:3_U/DO\*/K
M[L>N^U=J8RNZ.R+-WT,-2Y*0 FB*E4V+4X+G<>FV\.RY1D^+-XB.5\&)_Y]=
MT).3"=<*#,K-<0.^:,.P.ZX>/Q4NAPGY0WWXSKA%3K(ST(@UFI*+/ U!#[-[
M>+%JY^?E2EF<OE[<XN>.T$X!]]<*Q\CXXAP</Z 6?P)02P,$%     @ *(!U
M5&@-*BL7!   > @  !D   !X;"]W;W)K<VAE971S+W-H965T,3 N>&ULI5;;
M<MLV$'WG5^RP:<>:47F51,F6-"/;R<0/23QQDCY#Y%)"30(R %IVO[X+\&([
MC?W2%Q&7W;-GSV(!+8]2W>H]HH&'NA)ZY>^-.9R&H<[W6#,=R ,*VBFEJIFA
MJ=J%^J"0%<ZIKL(DBF9AS;CPUTNW=JW62]F8B@N\5J";NF;J\1PK>5SYL=\O
M?.6[O;$+X7IY8#N\0?/]<*UH%@XH!:]1:"X%*"Q7_B8^/9]8>V?P@^-1/QN#
MS60KY:V=7!4K/[*$L,+<6 1&GWN\P*JR0$3CKL/TAY#6\?FX1__@<J=<MDSC
MA:S^XH79K_RY#P66K*G,5WG\B%T^4XN7RTJ[7SBVMG'F0]YH(^O.F1C47+1?
M]M#I\,QA'KWBD'0.B>/=!G(L+YEAZZ621U#6FM#LP*7JO(D<%[8H-T;1+B<_
MLT[A3[@2N:P1OK$'U,O0$*K="_,.X;Q%2%Y!B!/X)(79:W@O"BQ> H1$9^"4
M])S.DS<1+S$/((W'D$1)_ 9>.N28.KST%;S/TOR<V N<R8 S<3B3_Z'5FPBV
MPT[U@>6X\JF%-*I[]-?P,^X?O\V3.#F#4R^)((FM#)%WT2B%PIQZ'[! Q2IX
M!VDV'T=11*.3:6I'(^_&,(/0+D?>)99(7@6<S*=N'V9NRR/?*.Y\8[<%W_8(
MI:RH2;G8 =? J.=R*7)><>8:2)9@R$A3B,9(]0AEQX2WW U[ &7#&^D,J>$:
MVL6R1-=Z@X'-JT]K4\M&&/@=^H'W_N% ]D3:FC,#WX.;X%E0%^$=)(O,T4[B
MP"4Q&6;>-5*W"M(*"DZQ2;4<-9PDK0(G41"/H$T^#A:=8L;J/@9!MR"EV2>V
M18$E-S!K]0PF8%6]>DH7B:O0ED^O)S%(GT1-DF#AE"WZ2KBDM$9#C$C8+:EK
M..H1D-2::].K/)3BQ2&X1#HV>5</)@I@M52&_],NT#F(Q_%B-H[CQ:B=)8OI
M>!Y-1D3ZGA2Q L;3;#RSR6?3<98NO$V>JX:8W;.\A<E(RS2#+!IG\\S;6!Z,
M)"1*"@K9;$W95%3<W-9+0SH?)].H^WA?B+MJ=8PG<SJ7LQ$=MI-%0A+.)T2*
M.$5QW$Y^L*KI4NF#:#IT%7/5ER]$HQVFT!U)1;>,NXD+(%<KEFV8)#HC+1 J
M?HO5(RTS 4(:MQ6?D2.K>IURQ0TJS@)7F@M9'YB@@X7W]LIW@ ()W.;+2);_
MD+1A&=PU3!$,Q2(NU"_6'%F^MQ7D)(RM]-^-XKK@[@'2 6Q>GH-?01^9MK2)
MS5W#K2%U -V'6&]1#7<B4"A['@+XU:T6/GL-:E0[]^9I</5J'X9A=7A6-^UK
M\F3>OLF?F-IQH:'"DERC()OZH-IWKIT8>7!ORU8:>JG<<$]_#5!9 ]HO)=V]
MW<0&&/YLK/\%4$L#!!0    ( "B =51)5 2TYP$  &0$   9    >&PO=V]R
M:W-H965T<R]S:&5E=#$Q+GAM;*6438^;,!"&_\K(YVX<"-NM(D#:[+9J#UM%
M&[4].S" M?Z@MEFV_[ZV(325FEQZ 8\][^-WS)A\U.;%=H@.WJ10MB"=<_V6
M4EMU*)E=Z1Z57VFTD<SYT+34]@99'452T'2]?D\EXXJ4>9S;FS+7@Q-<X=Z
M':1DYM<.A1X+DI#3Q#-O.Q<F:)GWK,4#NF_]WOB(+I2:2U26:P4&FX+<)]M=
M%O)CPG>.HST;0ZCDJ/5+"+[4!5D'0RBP<H' _.L5'U"( /(V?LY,LFP9A.?C
M$_U3K-W7<F06'[3XP6O7%>0#@1H;-@CWK,?/.-=S&WB5%C8^89QRTXQ -5BG
MY2SV#B17TYN]S>=P+KB[($AG01I]3QM%EX_,L3(W>@03LCTM#&*I4>W-<14^
MRL$9O\J]SI49W,#>Z(8[.'3,<-7"7C"54^?A(856,V@W@=(+H"2%)ZU<9^&C
MJK'^&T"]J\5:>K*V2Z\2'[%:P29Y!^DZ3:[P-DNIF\C;7.!]U0[M%4ZV<++(
MR?[_R*Z"PGW;VIY56!!_H2R:5R0E7,#?P+^LT[,O+]&TL;\M5'I0;FJ"97:Y
M0O=3Y_Q)G^[?$S,M5Q8$-EZZ7MW=$C!33T^!TWWLHZ-VOBOCL/._ 30AP:\W
MVA_P'(0-EA]+^1M02P,$%     @ *(!U5&:<0NH? @  HP0  !D   !X;"]W
M;W)K<VAE971S+W-H965T,3(N>&ULI91-;]LP#(;O^16$T*-;?^<+MH&FW; <
MN@4MMIT5FXF-6I(G*4WW[R?)CI<-2RZ[V*+(]Q$ID\Z.0KZJ&E'#.VNYRDFM
M=;?T?576R*BZ$QURX]D)R:@VIMS[JI-(*R=BK1\%P=1GM.&DR-S>1A:9..BV
MX;B1H Z,4?ESA:TXYB0DIXWG9E]KN^$764?W^(+Z:[>1QO)'2M4PY*H1'"3N
M<G(?+E>)C7<!WQH\JK,UV$JV0KQ:8UWE)+ )88NEM@1J7F_X@&UK02:-'P.3
MC$=:X?GZ1/_H:C>U;*G"!]%^;RI=YV1.H,(=/;3Z61P_X5!/:GFE:)5[PK&/
M#6<$RH/2@@UBDP%K>/^F[\,]G GFP05!- @BEW=_D,ORD6I:9%(<0=IH0[,+
M5ZI3F^0:;C_*BY;&VQB=+E*XA2^Z1@EK7@J&F:\-U?K\<B"L>D)T@1!&\"2X
MKA5\X!56?P)\D\Z84W3*:15=)3YB>0=QZ$$41.$57CS6&#M>?('W66A45SC)
MR$D<)_F/N[I*L!.V5!TM,2=FA!3*-R0%_,V]G40!1*$M/YBLN483JJ%Q/KB!
M<.'-%C.S6"3>(IU.>FF<>K-I &GLI<%\<@-IZJ6IC0J3N9=,$_C7!?AGC<-0
M[MUX*"C%@>N^A\;=<0+O^\;['=Z/[Q.5^X8K:'%GI,'=+"4@^Y'H#2TZUX9;
MH4U3NV5M_B(H;8#Q[X3Y3(-A#QC_2\4O4$L#!!0    ( "B =50DM6]7'@<
M +P8   9    >&PO=V]R:W-H965T<R]S:&5E=#$S+GAM;,5976_;.!9]]Z\@
M/-/%#L#:XH<D*IL$:-,IM@_3*28SN]A'Q:)MH;+H$>FXV5^_YU*RX[:)N],F
M*8K6E$1>GGONY>$E>[IUW7N_M#:P#ZNF]6?C90CKD^G4SY9V5?J)6]L67^:N
M6Y4!C]UBZM>=+:LX:-5,99)DTU59M^/ST_CN77=^ZC:AJ5O[KF-^LUJ5W<U+
MV[CMV5B,=R]^JQ?+0"^FYZ?K<F$O;?AC_:[#TW1OI:I7MO6U:UEGYV?C%^+D
MI:;^L<._:KOU!VU&GEPY]YX>WE1GXX0 V<;. EDH\7-M+VS3D"' ^'.P.=Y/
M20,/VSOKKZ/O\.6J]/;"-?^NJ[ \&YLQJ^R\W#3A-[?]IQW\2<G>S#4^_LNV
M?5^IQVRV\<&MAL% L*K;_K?\,/!P,, D]PR0PP 9<?<3192ORE">GW9NRSKJ
M#6O4B*[&T0!7MQ24R]#A:XUQX3QCS]FE78#FP-ZT?9#!UNDTP#AUF<X&0R][
M0_(>0T*R7UP;EI[]W%:V^MC %*CVT.0.VDMYU.(K.YLP)3B3B11'[*F]JRK:
M4_?8>^N"]4?LZ+T='>WH;Z?LJ"%:;R=^7<[LV1@+RMONVH[/V3WFGX]>ES[8
MUG;LA?=V==7<L)__W-3KV/'7L,2'"]=ZU]15&6PU^H\MNSX6#$QB #KLV#P9
MO<5ZORP;Z__V@Y$J^<?C_[ ?F2RX 01E#!XT%UIQD2=HTU^E>)%KGJ9F],J"
MCUD=_7Y\8)/)A DN,L'3(F-":5ZD.9.2)XG !R4,0.G1+B;0PP[(V@5;=VY>
MAV^E18(/S;7)6%'D/-$&;"B\ QQ%LS8-S56V%2LK"$#M TU_;9G] &7VQR,(
MUQ+\^3N<@4.9*'XZ;(_ZM*G;F5O9IR Z@DE3\)D//Z,W<7)V99'I=H#"0OGA
MZS,3,=,"C.9R=%&NZU V/555'3;= R?\A.E"\333\$OD.5=*LRQ/N"G,/F%*
M+-?@3T8O9C.W:8/'7C:S]75YU5C.6OO5"41YFW*52"Y!I](ISV5._/),Y[PP
M&MQ> X#K:NN_::8OH<BY!.%)FM!R28!#49RQ;$3!<Y.,WG6T:,(-9^NF)$:0
MS':G75]$-F%D!<M$:@HMZ422H@6O>:;0DHBUXB;30S[WA#^!HL5LYD)JX#AH
MC:!Q>98!H#FFPLGW4F& 3'+PI>@!B2)Y7NQ46.90P81GJ?H^*@PP:8J8@B,C
M,Z: +X9=(:616H^FPJ2V@A=*L50H1(Y""Z'$HA)&/9P*"VFX*/*?#MO?1X6%
M-EQ#MX;?Y#&$.$NY3I.G4.$,^F-("U2?+P6$,<^90:X+E3V)%*-L2+#F5<%(
MF*00O3AD*G+P5%(,&8X^&UI,J+=$FO4X4F1UH;]9BD4"L84>2]+Z-#.0$4E3
M81?"3D3\BQ3;G_DN6ISS''NOUNJV15HLE>%)+MCO2XL2>;4NVQM6.>M9ZT!
MT[@9"F8V RTXQ#+_Y;7.L$2P0H+M6J1U9]>N(RGB+"PW%%ZWLTKGSFWI<6"K
M;!P$3OPG=OR0FU7M9XWS6!QLO>G6#M\G[./$':;"7K*;'(> $@.:>E73ZX"9
M[TKM>LB^F^A5X]K%\P8.58/=";L8G/_L$W-SYEH[9,O>*9ITQUP%S0A;:UOR
MCH6MV[GDXWFYPGAF?:A7L6]O:!/JIOYOM,4Q$T;6?O@4ST$8ZL*2S7='GAB,
MW;%GGZ_]F;X.-5%UF&\1WV%T(S5[6(?LM?%3A:^.;=VF(6]8O5IW9'M&]$UB
MXLP=3&TI,0*]9/'$UO,,;C<0SIO=!)S--UU$@YB6BT5G%SU-@-Y6SU=E]]Z&
MDZ/GN?_[),<@9IO@5BXFZ(\H0GF*8D@DFAZH0DIE_QI%&<_3;/069\GR=HB@
M\M%P:31.'85!42Z@'1 R',Y,(D>_.Y)NZ +S5*@<.\4=G.".EST?(T:]2B!T
M00\J0^U<]*]S#?W2YE/$AA<%C='8H TV:%/@F(9R04.04"'< ?B^@N>VV'G
M$._6R(,$F,4(_]'&U7T9T'MP2)J$"Z%C!)*4 DYA1D6A$ 4ILM%K[.+UHF5T
MRH($YIK!TR0S\7A ]=3CA/8SJ$@Z35M/%KDW"1W,8AO')DTR+?=08PV/325'
MNL(1> ??- 89\951C;4UK6^2L/XV+59:4:GVXK)3X$$Z 9]T6:AG)'ZS@T#M
M$L&S:M-1GL052!(B]#,R2QST<G&'#$,-(7"SW48 P=LC^F3F[%EO-/\<P5UV
MRZC2GTL#V2!$')W]VL;[S^9F<LM*"==AO?K+U(B_0HU\2&K$0$WZZ-0 1G?
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
MQ>@*N5R31DGS KQ?.A?;&]Z@^T_&Y?\!4$L#!!0    ( "B =504JFTOC0(
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
MJ'90VXV1M1^.C31VU+Q9VK<-E7.P]ULIS6GC G2OY?P/4$L#!!0    ( "B
M=53!TB4$M@(  &P&   9    >&PO=V]R:W-H965T<R]S:&5E=#(Q+GAM;)55
M46_:,!!^YU><HCU0B39.2$J'  G*IO6A4E>V]MDD%V+5L9GME/+O:SLD8U/+
MNI?D?+[[[OLN]F6RD^I)EX@&7BHN]#0HC=F.PU!G)5947\@M"KM32%518Y=J
M$^JM0IK[I(J',2&78469"&83[[M3LXFL#6<"[Q3HNJJHVB^0R]TTB(+6<<\V
MI7&.<#;9T@VNT/S<WBF["CN4G%4H-),"%!;38!Z-%XF+]P$/#'?ZR :G9"WE
MDUO<Y-. .$+(,3,.@=K7,UXCYP[(TOAUP RZDB[QV&[1OWKM5LN::KR6_)'E
MIIP&5P'D6-":FWNY^X8'/:G#RR37_@F[0RP)(*NUD=4AV3*HF&C>].70AX\D
MQ(>$V/-N"GF62VKH;*+D#I2+MFC.\%)]MB7'A/LH*Z/L+K-Y9A;#.2PHIR)#
M6/E3L$1#&==C6-D#D-<<01;P0'E-FS:*'+[7E+-BS\0&YEDF:V$T]'_0-4=]
M-@F-I>7 P^Q 8=%0B-^A$,5P*X4I-7P1.>9_ H163R<J;D4MXI.(2\PN8!@-
M("9Q= )OV#5IZ/&&[^ UTL*V(?H$9-)!)AXR>0?ROYK[5D]/PKNK/-9;FN$T
ML'=5HWK&P+4%JS6JKC7PMX?TYMQ>4W\:[(6'I:S7IJAYQV3<:P\+-;#&#1/"
M$;4B]D@5?()H1 :$$&<EWNI=EU1M4(.1H TU:&^T<0E,9+)"(#!,!Z-1TGM4
MS."Y+ IM?7WO.SNNAK8W;]9IK-Y'U-V(9UM=JOU1S^^;]OQ;VB5I2R;IZ"/2
MDF@P)%<0I>F I%?' OOQ9[=U!OTH=GLGA%ZZ"%^UK?_6Z0N/)D"%EI2;<QK\
M1VN&0>?M1NF\F2"_PYLY?&LU,:&!8V%3R<4H#4 ULZU9&+GU\V0MC9U.WBSM
M[P"5"[#[A92F7;@"W0]F]@I02P,$%     @ *(!U5/FQZ )# @  [00  !D
M  !X;"]W;W)K<VAE971S+W-H965T,C(N>&ULA53?;]HP$'[GKSA9>Z!21YP$
M*$(0J4"K]:$2*MWV;)*#1'7LS': _?>SG9 QJ;"7^,YWWW<_<N?94:H/G2,:
M.)5<Z#G)C:FF0:#3'$NF![)"82T[J4IFK*KV@:X4LLR#2AY$E(Z#DA6")#-_
MMU;)3-:&%P+7"G1=EDS]7B"7QSD)R?GBK=CGQET$R:QB>]R@^5ZME=6"CB4K
M2A2ZD (4[N;D,9PNAL[?._PH\*@O9'"5;*7\<,I+-B?4)80<4^,8F#T.N$3.
M'9%-XU?+2;J0#G@IG]F??>VVEBW3N)3\9Y&9?$XF!#+<L9J;-WG\AFT](\>7
M2J[]%XZ-[Y@22&MM9-F";09E(9J3G=H^7  FUP!1"XA\WDT@G^6*&9;,E#R"
M<MZ6S0F^5(^VR17"_92-4=9:6)Q)8O@*+R*5)<([.Z&>PEK)0^%[;G_YA0V>
M3G82-$+_G6TYZKM98&P"CB9(VV"+)EAT)5@8P:L4)M?P)#+,_B4(;.9=^M$Y
M_45TDW&%Z0#B\!XB&H4W^.*N';'GBZ_P-:4%&SO[66VE&Y3#CG+H*8=7*/_7
MS\_:>)/1[>E45RS%.;&+J%$=D"01A2AT;:"]9:T4"C/M/6.&BG'X O'#Y)Y2
M:J7^*';276]CF$%HKFEOA3NTJ SZDY&WP]B;>A9+PQ8;>A-\UI3@8@1+5'N_
M:!I260O33&-WV^WR8S/"?]V;A^"5J7TA-'#<62@=/(P(J&:Y&L7(R@_T5AJ[
M'E[,[7N$RCE8^TY*<U9<@.Z%2_X 4$L#!!0    ( "B =52[]M.^DP(  )<%
M   9    >&PO=V]R:W-H965T<R]S:&5E=#(S+GAM;)U436_;, R]YU<0Q@:T
M0.:OI.T:) ::ML-Z*! D[796;#H6*DN>I#3IOQ\E.UX&M,&PBT5*Y-/CD\GI
M3ND74R%:V-="FEE06=M,HLCD%=;,A*I!22>ETC6SY.I-9!J-K/!)M8C2.+Z,
M:L9ED$W]WD)G4[6U@DM<:##;NF;Z;8Y"[69!$APVEGQ36;<19=.&;7"%]KE9
M:/*B'J7@-4K#E02-Y2RX22;SL8OW 3\X[LR1#:Z2M5(OSGDH9D'L"*' W#H$
M1LLKWJ(0#HAH_.HP@_Y*EWAL']"_^=JIEC4S>*O$3U[8:A9\#:# DFV%7:K=
M=^SJN7!XN1+&?V'7Q<8!Y%MC5=TE$X.:RW9E^TZ'?TE(NX34\VXO\BSOF&79
M5*L=:!=-:,[PI?IL(L>E>Y25U73**<]F(_@"#S)7-<(3VZ.9P(K>O=@*!%7"
M?5FBE^TH!I;,(BPQ5S+G@C,O[MD36PLTY]/($BD''>4=@7E+(/V 0)+"HY*V
M,G O"RS^!HBHFKZD]%#2/#V)>(=Y"*-D"&F<)B?P1KU$(X\W^@"O+2TZZ&).
M0(Y[R+&'''\ ^3\:OR?MR5M</T],PW*<!=2P!O4K!ID3Q2D3#VYJM946/L/!
M&-SO&Z*"!5BBP"P\AZL0C&5V:Y5^ ^U(?8+T^FH8QS&D21B3FXQ[;[! :A2)
M!%9P*DNCS-' 6>HBSN$L#I-S2'QX$EX/5M8!6O?;#4'2 "(U2BQ0,P%KE%AR
M"Y<^.@['0-]!IY"CA\15&L=G%"<'!B/'YZ+UTO :WGNJZ*A9:M0;/Q(,Y$Z#
MMF_ZW7[JW+3-]B>\'5F/3&^X-""PI-0XO+H(0+=CH'6L:GSKK96E1O9F19,3
MM0N@\U(I>W#<!?TLSGX#4$L#!!0    ( "B =515-\/MH0(  'D%   9
M>&PO=V]R:W-H965T<R]S:&5E=#(T+GAM;)54WV_:,!!^YZ\X17LH4M8X/R"
M  G*IE5:M:KMMF>37(A5QV:V W1__>P$,B85I+W$OO/==_==]-UT+]6K+A$-
M'"HN],PKC=E.@D!G)594W\HM"OM22%518TVU"?16(<V;I(H'$2'#H*),>/-I
MXWM4\ZFL#6<"'Q7HNJJH>ELBE_N9%WHGQQ/;E,8Y@OET2S?XC.;[]E%9*^A0
M<E:AT$P*4%C,O$4X628NO@GXP7"OS^[@F*RE?'7&?3[SB&L(.6;&(5![[/ .
M.7= MHU?1TRO*^D2S^\G],\-=\ME337>2?Z3Y::<>2,/<BQHS<V3W'_!(Y^!
MP\LDU\T7]FUL.O @J[61U3'9=E QT9[T<)S#6<*(7$B(C@E1TW=;J.ER10V=
M3Y7<@W+1%LU=&JI-MFV."?=3GHVRK\SFF7D,'^%>9+)">*$'U!-XMO\]KSF"
M+&"%!2J%N7N#A=9H-%"1PU=&UXPSPU##S0M=<]3]:6!L/PXUR(ZUEVWMZ$+M
M,(('*4RIX9/(,?\7(+!$.C;1B<TRNHJXPNP6XM"'B$3A%;RXFT[<X,47\%IJ
MP6DD^@IDTD$F#61R ?(_Q_O>5*\6<"J>Z"W-<.99F6I4._3F$8$H=%,AO15:
M=\9H*PI;C592&?:[=7R F] /QT,_#,?]UHK& W]$DG[O7NQ0&*G>(!RD_I 0
M"-.!G\;CWB++5&UY[&C6PJ2)3^(44N*GH[2WX%;[5&0(=HM +NNU*6IN%9G)
M6EC.\<B/!N1X]+Z9$I4/PFZD,!G!S6#8[]E&QM'0)Z/$-F5[(F'8&N_]D>!,
M#A6J32-Z#4VQ5AF=M]LKBU9.?\/;I?1 U88)#1P+FTING8Q5*_36,'+;B&LM
MC95J<RWM;D3E NQ[(:4Y&:Y MVWG?P!02P,$%     @ *(!U5&DCK!XM @
MK@0  !D   !X;"]W;W)K<VAE971S+W-H965T,C4N>&UL?53;;MLP#'WO5Q!"
M'S; B^^YP3;0M!N6AV)!L\NS8C.Q45OR)+EI_WZ2['@IT.3%)BF>PT.9='+D
MXEF6B I>FYK)E)1*M4O7E7F)#943WB+3)WLN&JJT*PZN; 72PH*:V@T\;^HV
MM&(D2VQL([*$=ZJN&&X$R*YIJ'A;8<V/*?')*?!4'4IE FZ6M/2 6U2_VHW0
MGCNR%%6#3%:<@<!]2N[\Y2HR^3;A=X5'>6:#Z63'^;-QUD5*/",(:\R58:#Z
M]8+W6->&2,OX.W"2L:0!GMLG]F^V=]W+CDJ\Y_6?JE!E2N8$"MS3KE9/_/@=
MAWYBPY?S6MHG'/O<R".0=U+Q9@!K!4W%^C=]'>[A##"_! @&0&!U]X6LR@>J
M:)8(?@1ALC6;,6RK%JW%5<Q\E*T2^K32.)7%\ 5^J!(%K%G.&UR^\^#33[JK
M47Y.7*6+&8B;#\2KGCBX0.P'\,B9*B5\9046[PE<K7*4&IRDKH*KC ^83R#T
M'0B\P+_"%XZMAY8OO,#7M^9N]9P7G;:N4$8C960IHPN4YW?WT95=19O]6\J6
MYI@2O6 2Q0N2+/ @\$W+WLV:*=1Q!57_<6[!7SBSQ4P;B\A9Q-.;OGX8.[.I
M!W'HQ-[\YA;BV(ECD^5'<R>:1O!1I^[9##4H#G93).2\8ZH?IS$Z+N-=/X/_
MT_M-?J3B4#$)->XUU)O,8@*BWX[>4;RU$[GC2L^W-4O]0T%A$O3YGG-U<DR!
M\1>5_0-02P,$%     @ *(!U5+5KQ :"!   Q@\  !D   !X;"]W;W)K<VAE
M971S+W-H965T,C8N>&ULQ5=M;]LV$/[N7T%XP]  G,4WB53F&$C2%LN';D&R
M%^PC;=&V4$ET23I._OV.E.UZ0.,.39/ L$5*Y-USSQT?^<8;ZS[ZI3$!W;=-
MY\^&RQ!6IUGF9TO3:C^R*]/!D[EUK0XP=8O,KYS15=K4-ADCI,A:77?#R3C=
MNW:3L5V'IN[,M4-^W;;:/5R8QF[.AG2XNW%3+Y8AWL@FXY5>F%L3_EQ=.YAE
M>RM5W9K.U[9#SLS/AN?T]$+$]6G!7[79^(,QBI%,K?T8)U?5V9!$0*8QLQ M
M:+C<F4O3--$0P/BTM3G<NXP;#\<[Z^]3[!#+5'MS:9N_ZRHLSX9JB"HSU^LF
MW-C-KV8;3Q[MS6SCTR_:]&ME,42SM0^VW6X&!&W=]5=]O^7A8(,BCVQ@VPTL
MX>X=)91O=="3L;,;Y.)JL!8'*=2T&\#574S*;7#PM(9]85*@G]&M60#- 5UU
M?9*!K5-T"^FOUHU!=KY?<&-6UH6Z6QPN16_^T-/&^)-Q%@!0-)O-MLXO>N?L
M$>>4H0^V"TN/WG65J?YK((-(]N&P73@7[*C%MV8V0IQBQ BC1^SQ/3T\V>./
MV.M#RW9D^",FQ=ZD2";%(R;_-[%?XO.XZ??:!],9A\Z]-^VT>4#O/JWK57+Q
M>UC"@TO;>=O4E0ZF&OQCM.N91\ ;;( %.^Y.![^!(MQJB/FG'Q3CY)?GOZ ?
M$2NQ @A<*9@(3 7'5!(8QR_GN)0"Y[D:O#4@0;,Z\?3\P$:C$:*8%A3G98$H
M%[C,)6(,$T+A :<*0(G!+IN@F$ZG;*Z<G=?AJ;0PX$-@H0I4EA(3H8 -#O<
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
M*U O]5+HF=N[%+0")BEG2,!ZYOSV[N>)B;<!KQ0:.1@C4\D[YQ]F\E3,'&R
MH(1<&0>B;WN80UD:(XWQK_-T^I1&.!P?W!]M[;J6=R)ASLLW6JCMS)DXJ( U
MV97JF3=_H*LG,GXY+Z6]HJ:-C1('Y3NI>-6)-4%%67LGG]T^# 1>>$;@=P+_
MIX*@$P2VT);,EK4@BF2IX T2)EJ[F8'=&ZO6U5!FWN)*"?V4:IW*?'2+'DA)
M6 YH93^;!2A"2WF/GM@>F.+B"UUU:]<Z^&6U0%>_KE-7Z>S&P\V[3 ]M)O],
MI@7D=RCP;I"/?6]$/O^Y''^7N[KFOG"_+]RW?L%9/UO2!:>@=PJL4WC&Z9DT
M^HTH$)0<^[7[TLHC*S>G:I^%<1A-_2!U]\,-.(WS_3!*\+2/^\87]GSA1;XW
M?8X09:@6/ <Y2M@:Q,/,WL33N8\(3^.\T,.3>#).&/6$T47"1\JH_H0+M.&\
M& 6,3@$#'(88'P&.Q.%IG'C).&#< \87 5])N2.J;5P2Q!Y&(>.3Y+>QI]OI
M,>18',;#N&^020^97(0\G%<*\@8Q4&.(R<DG-HF\:3(Y1CR-B[PH\*?A$:([
MZ#RFZ_\E8D.91"6LM1+?)=I"M)VTG2A>VV;TSI5N;7:XU3\?$"9 /U]SK@X3
MT]_ZWUGV'U!+ P04    "  H@'542TS&L=<"  #H!P  &0   'AL+W=O<FMS
M:&5E=',O<VAE970S,RYX;6R-E6MOVC 4AO^*%>U#*['F8N="!4@%-FW2NJ&B
M;I_=Y$"L)G%J&VCWZV<[(:,04#] ?#GOZ^><./9HQ\6SS $4>BV+2HZ=7*GZ
MUG5EFD-)Y0VOH=(S*RY*JG17K%U9"Z"9%96%&WA>Y):45<YD9,<68C+B&U6P
M"A8"R4U94O$VA8+OQH[O[ <>V#I79L"=C&JZAB6HQWHA=,_M7#)60B49KY"
MU=BY\V]GB8FW ;\9[.1!&YE,GCA_-IWOV=CQ#! 4D"KC0/5C"S,H"F.D,5Y:
M3Z=;T@@/VWOWKS9WG<L3E3#CQ1^6J7SL) [*8$4WA7K@NV_0YA,:OY07TOZC
M71,;QPY*-U+QLA5K@I)5S9.^MG4X$/CDC"!H!<%'!;@58)MH0V;3FE-%)R/!
M=TB8:.UF&K8V5JVS895YBTLE]"S3.C4)T&<TI06M4D!+NVWFH"@KY"U:"+U7
MA'H;H(6>5XA6&?KRLF&U?HD*7;5QU]K@<3E'5Y^N1Z[21,;73=O5I\WJP9G5
MYY#>(.P/4. %?H]\]G&Y]U[NZCITQ0BZ8@36#Y_ULRE=<,*=$[9.Y(S3#U,L
M\V-E+?@63,ED7WT:F]#:F"]N._'C.$G\X<C='A:B)R["44S^Q[WC)!TGN<@Y
MW; B8]5:?@BV\8H.(!(21L,$'\'VQ(688#_NAPT[V/ B[#U-<STDWBPL[+=B
M'VEX0H##R$]B'!ZA]@7Z0S(DI)\UZEBCBZPS6C-%"_87,B3Y2NVH (O-50ZB
M#SDZ(?&]R,/Q\4[HBR.A%YPI;MP!QY=W+$C]S=^EZ:;<%%1I[#GH>R%EU!RW
M?<#Q"<AG3 CQO3 X0NZ+Q$'D^2'NATXZZ.0B],4C:H!^F5H/T$_HW2/)Z2<5
MD!@G$3G"[PG$?N@ER?$><0_.87,'WE.Q9I5$!:RTU+N)M8=H[I6FHWAMC^8G
MKO1!;YNYOHI!F  ]O^)<[3OFM.\N]\D_4$L#!!0    ( "B =523]E=R90(
M %$&   9    >&PO=V]R:W-H965T<R]S:&5E=#,T+GAM;(U5R6[;,!#]%4+H
M(0%::U><P!;@I45[*&K$2'NFI;%%A!)5<KSD[TM2BJ XLIN+Q.6]-V]&Y&AR
M%/)9%0!(3B6OU-0I$.L'UU59 255(U%#I7>V0I84]53N7%5+H+DEE=P-/"]Q
M2\HJ)YW8M95,)V*/G%6PDD3MRY+*ESEP<9PZOO.Z\,AV!9H%-YW4= =KP*=Z
M)?7,[51R5D*EF*B(A.W4F?D/B\3@+> W@Z/JC8G)9"/$LYG\R*>.9PP!APR-
M M6O RR <R.D;?QM-9TNI"'VQZ_JWVSN.I<-5; 0_ _+L9@Z8X?DL*5[CH_B
M^!W:?&*CEPFN[),<&^R=YY!LKU"4+5D[*%G5O.FIK4./X$<7"$%+"#Y*"%M"
M:!-MG-FTEA1I.I'B2*1!:S4SL+6Q;)T-J\Q77*/4NTSS, W(%S*GG%89D+4]
M-DM RKAZ(+^P $EF62;WD).O)WUP%"ARTP)N-?-IO20WGVXG+FHK1M#-VK#S
M)FQP(>P2LA$)_<\D\ )_@+[X.-U[2W=U ;HJ!%T5 JL77M2S*5U1"CNET"I%
M%Y164FP9$E50R:H=J75E228JE&RS-^=VJ%2-8FP5S:T[I'X4>YY.[- OR0!,
MW]4>[(WAJ#,<_<]P#1)?"-(3J"%[#3_IQ1U[07)_YFX %<5W%\S%G;GXJKD9
MYT388\@0RD%W\;NX?N3[T;F] 9@_#N_'P_Z2SE]RU=_P%1FRF;S[>&&21/[X
MS.8 + CNDW.;;N_"FV;[D\H=JQ3AL-5$;W2G%633P)H)BMKV@(U W5'LL- ]
M'Z0!Z/VM$/@Z,6VE^XND_P!02P,$%     @ *(!U5/A 8WX: P  )PH  !D
M  !X;"]W;W)K<VAE971S+W-H965T,S4N>&ULK9;;3N,P$(9?Q8KV B0@AS9)
MB]I*/;#:E1:)I0*NW6326CAVUW9;^O9K.VGH(2FL%BYH[,S\\\V,';NWX>)5
M+@ 4>LLIDWUGH=3RUG5ELH <RQN^!*;?9%SD6.FAF+MR*0"GUBFG;N!YD9MC
MPIQ!S\X]B$&/KQ0E#!X$DJL\QV([ LHW?<=W=A./9+Y09L(=])9X#E-03\L'
MH4=NI9*2')@DG"$!6=\9^K=C/S .UN*9P$;N/2.3RHSS5S/XF?8=SQ !A409
M":Q_UC &2HV2YOA3BCI53..X_[Q3_VZ3U\G,L(0QIR\D58N^TW%0"AE>4?7(
M-S^@3"@T>@FGTOY'F\(VBAR4K*3B>>FL"7+"BE_\5A9BS\%O<@A*A^#8H=W@
MT"H=6C;1@LRF-<$*#WJ";Y PUEK-/-C:6&^=#6&FC5,E]%NB_=1@JM=%NJ*
M>(:>,5WAHK@L1;]7F))L2]@<#9.$KYB2Z&(""A,J+]$U>II.T,6WRYZK-(81
M<Y,RY*@(&32$] -TSYE:2'3'4D@/!5S-7R41[)(8!6<5)Y#<H)9_A0(O\&N
MQI]W]\[@M*J:MJQ>NZFF=V.TJ^L5\H-KKWN%AE3O&,P2/3,6D!*%?G$IST1K
M5]':9Z.-,#6R""LT@SEAS'1,=W,+6-0UIU +K9K9Y.N!'WOZK^>N]TM68]8^
M,#N #2O8\"SL>('%'"12'$F%%>@/@C*PA"4\ASK<0B_:XS@F/;5HA7'<K@>-
M*M#H+.B+( JN>9;).JCH0ZA3B^MFJ+B"BC_;:M []$R3XY/PM4W^T.P LU-A
M=OY]_3^"!+'6XY]LK9O.Q?;,VN]6D;I?NO:[)_E&7DU93LW:8=Q8%M][_]9Z
M7[SZ2\$#%+_E=8Z :\S\,/3"3@/QWNG@_\<V*)T/5GG0K<&KL?.#9KS@'2_X
MH@U1"NU_SR*-<-+Z.CNO9DNX>T=N#KJKYB8BD3TGBX.KFJUN.T-[QA_-C\PM
MR![E[S+%%>I>+Q;")**0:4GO)M90HKB5% /%E_9@GW&EKPGV<:%O<B",@7Z?
M<:YV Q.@NAL._@)02P,$%     @ *(!U5 C8!E>& @  00<  !D   !X;"]W
M;W)K<VAE971S+W-H965T,S8N>&ULE57;;J,P$/T5"^U#*S7A%B"J$J0F:;5]
MJ!0UV]UG!R;!*MA9V[GLWZ\OA*4E5)L7\&7.F7,\,)X<&7\7!8!$IZJD8NH4
M4N[N75=D!518#-D.J-K9,%YAJ:9\ZXH=!YP;4%6Z@>?%;H4)==*)65OR=,+V
MLB04EAR)?55A_F<&)3M.'=\Y+[R2;2'U@IM.=G@+*Y!ONR57,[=AR4D%5!!&
M$8?-U'GP[^>)CC<!/PD<16N,M),U8^]Z\IQ/'4\+@A(RJ1FP>AU@#F6IB92,
MWS6GTZ34P/;XS/YDO"LO:RQ@SLI?))?%U!D[*(<-WI?RE1V_0^TGTGP9*X5Y
MHJ.-353&;"\DJVJPFE>$VC<^U>?0 OAQ#R"H <%GP*@'$-: T!BURHRM!98X
MG7!V1%Q'*S8],&=CT,H-H;J**\G5+E$XF89H@)YIQBI /_ )Q#U:<G8@IDCJ
M&VGMH<>3^G0$H)L%2$Q*<:N@;ZL%NOEV.W&ETJ(9W:S..[-Y@YZ\?H!>&)6%
M0(\TA_PC@:M,-$Z"LY-9\"7C K(A"OT[%'B!?T'0_/_AWA=RPN9@0\,7]O*9
M0_J":=0PC0S3J(?I8T&>( >.2T1L8:0J#-C"W*'YGG.@\E(U;(K(I-!_]B$-
MD['G*:>']AEUPP91V [[X"!J'$17.%A)+.%:_39!W!)V07TWJ$=XW B/KQ!^
M2?("-J!$YY<TQQTY@W'45=T-B\>]1YXTRI,KE+?_\$M*D^[7X?E=I=TP/^HJ
M=5O=J *^-4U:H(SMJ;2_<[/:W ,/IOU]6I^I^\&V\W\T]G)YP7Q+J$ E;!2E
M-TR4)FX;MIU(MC,];\VDZJ!F6*@[#K@.4/L;QN1YHA,TMV;Z%U!+ P04
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
M?9=?(E+U%K6<P"X#R=6XLN-4AS- LKP 2"= ^E9 -@%"Y>B869!5,F1%;O1
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
MQXD7=V 2@6)*<#2NL$6HP A1XJ@V:'2 'QTOQAU8L$!H8F2H5:=P%SH<:WK
M*7J<#SLP>9 D44#'RPF+CF$"K@4I:'B 'QZO1!V<9HI7,G2KF0)^IIQ"'9B,
M,&SY)$-;FB#@)\BYJ ,3"H8]4X)) H[E,6AJ@)\:+X$<F%!0>Y\(C PR=0J$
M@+'#K&8'^-EQ#N+ MI4(F-I/CEU:A!@2S%R)KD$!?E"\#G%@LD%-J20YV@=W
MQBU"%L9Q" [C&B7@1\DIPH&Y>S%:U2<9OA71*")^%'TKTSP7RU3R%5J(:B?4
M1,1][ULT1(@?(OXW+B8(QK7U2H:>-":('Q,O!ALQ&0 0!'CLU901<,X@Y.BE
MU2E2G(\U<AH/7LG0HL8#\>/AE3 C)A+>@UK4AS@9F[8I,<0XB1S>-4.(GR&G
MT$8L.P_U-YZ3+3*U2:*AJ_LU0(@?(.<RCIA0P%%$R'@!;],EC$2NAM3P('YX
MO(1TQ&2#,4Y]DJ%%#0[B!\<Y?".G=QE>R=":1@/QH^%U3",F#;!:"H1DS#2;
M$ >@MM".E]8:'M0/CU-,ZXH?OR]G&&AHK!<LPBA22W(Z?JTT/3IJ*7BU:4^@
M:M2.OL/91/^T/^6Z:L]V1L^O\<7B<%:EPQR.SKZDU28K:Y3SM0H9?(B4J^IP
M&G6XD6+7'NC<"RE%T5YN>;KB52-0WZ^%D,\WS0_T9X+S?P%02P,$%     @
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
M\!WZ>NX<7ZFX\5]RZ&+OHH"4.V.5Z,&H0##9_>FQ[\,($-]? "0](/D(F%X
MI#T@]85VRGQ9"VIIGFEU(-I%(YM;^-YX-%;#I#O%M=6XRQ!G\T()P2P>BS6$
MRHH42EHF:Y E T-N%F IX^:6?"&OZP6Y^72;A1;3.G!8]BGF78KD0HHX(2_(
MVACR+"NH_B4(4>\@.CF)GB=7&1=03D@:?R9)E,1G!!7_#X^NR$F''J:>+[W(
MYYMTA6DZ,$T]T_0"TPK/@3P?<40-G&MTA[[S:#>?^SQYB"*L83^N_DQ4.H[J
MI(6C2R- UWZ6#"G53MKN* ;O,*Y/_I9^\,]QC+NI>Z?IWH 7JFLF#>&P1<IH
M\H":=#=7G6%5ZZ_F1EF\Z'[9X%,$V@7@_E8I>S)<@N%QR_\"4$L#!!0    (
M "B =53*RV&:@ (  +X&   9    >&PO=V]R:W-H965T<R]S:&5E=#0V+GAM
M;)V536_B,!"&S]U?,8IZ:*6*$ .%K2!2*:UV#Y5047?/3C(0JTZ<V@ZT4G_\
M^B-D60DBM)?$8\^\\XSM3*8[(=]4CJCAH^"EF@6YUM5=&*HTQX*JGJBP-"MK
M(0NJC2DWH:HDTLP%%3PD_?YM6%!6!O'4S2UE/!6UYJS$I015%P65GW/D8C<+
MHF _\<(VN;8383RMZ 97J%^KI316V*IDK,!2,5&"Q/4LN(_NYA/K[QQ^,=RI
M@S'82A(AWJSQ,YL%?0N$'%-M%:AY;?$!.;="!N.]T0S:E#;P<+Q7?W*UFUH2
MJO!!\-\LT_DLF 20X9K67+^(W0]LZAE9O51PY9ZP\[Y#$D!:*RV*)M@0%*ST
M;_K1[,-!P" Z$4": .*X?2)'N:":QE,I=B"MMU&S U>JBS9PK+2'LM+2K#(3
MI^-5G2A\K['4\+@U3P57"]24<74]#;5)8-W"M!&;>S%R0BPB\"Q*G2MX+#/,
M_A4(#5F+1_9X<]*IN,"T!X/H!DB?1*^K!5Q=7E]"""JG$E5'@D%;_\ E&)Q,
MX(KM4!JV2D.G-#REQ+8LPS(S=R+E5%)WZ3*J\=@^=DL]8=(#$MU\N[@P=9,.
MN%$+-SH+3D&%TN]>PXD9?,&I+?6P7GKLI.U'OHW[/4NU/0)TVP+=G@M$/VG"
M$6@A:G,+#<PQ!J\V.F @$1D-OQ^G&+<4XS,IEI[B!LQ7A* %)&CF6':,I5OS
MF<H>1),S#F_24D[^BU*LX053(8]"=DLZR&$78WC04PJ4&]<Y%:3VD'Q[:6?;
MYGSO>])?=]_93;(-*Q5P7)O0?F]LCE'Z;ND-+2K7H1*A3;]SP]S\8%!:![.^
M%D+O#9N@_67%?P!02P,$%     @ *(!U5!:AP],! P  B0\   T   !X;"]S
M='EL97,N>&ULW5=M;YLP$/XKB$Y3)TTEA)6%-43:D"I-VJ9*[8=]JYQ@B"5C
M,V,ZTE\_'R;DI;ZJZX>M&U&*?0_WW'/GPV[FC=YP>KVF5'M=Q463^FNMZP]!
MT*S6M"+-F:RI,$@A546TF:HR:&I%2=Z 4\6#Z602!Q5APE_,15M=5KKQ5K(5
M.O6GH\FSM\]YZH?Q.]^S=)G,:>K?GK[^T4I]\<JS]Y.W)R>3VS<7Q_;3'GCC
M!T[2\R>0GDUP7H/UU,&0PV)>2+%+)?*MP<0F%?7N"$_]C'"V5 R\"E(QOK'F
M*1A6DDOE:5-#(R8$2W-OX=#.H+P#3\6$5'UL&\'^70Z/'P';&0ADG!_4&@R+
M>4VTIDI<FDG_<&]\ 'G#^&93&X6E(IMP>N[O'/J;";*4*J=J#!/Z6]-BSFD!
M<A0KUW#7L@X U%I69I S4DI!>@U;CV%@:%>4\VOHO>_% 7=7[*WJ!-94C$,C
M:!A:&CL!_GTVR[U'.WL6K5>S.ZD_M28;T<^A5^B5H@7K^GE7C/$Q]A!G)W7-
M-Q\Y*T5%;>Y/#KB8DZV?MY:*W9MHT"DK8Z#*]^ZHTFRU;_FI2'U#.[WMIJ[
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
M7OWU_Z9VC6M5-D=_UOW4FW\"4$L! A0#%     @ *(!U5 =!36*!    L0
M !               ( !     &1O8U!R;W!S+V%P<"YX;6Q02P$"% ,4
M"  H@'54Q?R F.T    K @  $0              @ &O    9&]C4')O<',O
M8V]R92YX;6Q02P$"% ,4    "  H@'54F5R<(Q &  "<)P  $P
M    @ '+ 0  >&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0    ( "B =50X
M5D8: P8  -49   8              " @0P(  !X;"]W;W)K<VAE971S+W-H
M965T,2YX;6Q02P$"% ,4    "  H@'54ZQ9GV80%  ",%   &
M    @(%%#@  >&PO=V]R:W-H965T<R]S:&5E=#(N>&UL4$L! A0#%     @
M*(!U5%#!1VW8 @  4 D  !@              ("!_Q,  'AL+W=O<FMS:&5E
M=',O<VAE970S+GAM;%!+ 0(4 Q0    ( "B =516YV^(9P,  .(*   8
M          " @0T7  !X;"]W;W)K<VAE971S+W-H965T-"YX;6Q02P$"% ,4
M    "  H@'54] %_I=(#  !>#P  &               @(&J&@  >&PO=V]R
M:W-H965T<R]S:&5E=#4N>&UL4$L! A0#%     @ *(!U5!SK9_T_ @  (04
M !@              ("!LAX  'AL+W=O<FMS:&5E=',O<VAE970V+GAM;%!+
M 0(4 Q0    ( "B =53+*^+7_@4  %L7   8              " @2<A  !X
M;"]W;W)K<VAE971S+W-H965T-RYX;6Q02P$"% ,4    "  H@'546X^' \T'
M  !)$P  &               @(%;)P  >&PO=V]R:W-H965T<R]S:&5E=#@N
M>&UL4$L! A0#%     @ *(!U5"7U/Z0Z!   3 D  !@              ("!
M7B\  'AL+W=O<FMS:&5E=',O<VAE970Y+GAM;%!+ 0(4 Q0    ( "B =51H
M#2HK%P0  '@(   9              " @<XS  !X;"]W;W)K<VAE971S+W-H
M965T,3 N>&UL4$L! A0#%     @ *(!U5$E4!+3G 0  9 0  !D
M     ("!'#@  'AL+W=O<FMS:&5E=',O<VAE970Q,2YX;6Q02P$"% ,4
M"  H@'549IQ"ZA\"  "C!   &0              @($Z.@  >&PO=V]R:W-H
M965T<R]S:&5E=#$R+GAM;%!+ 0(4 Q0    ( "B =50DM6]7'@<  +P8   9
M              " @9 \  !X;"]W;W)K<VAE971S+W-H965T,3,N>&UL4$L!
M A0#%     @ *(!U5'*HX_KN @  ; 8  !D              ("!Y4,  'AL
M+W=O<FMS:&5E=',O<VAE970Q-"YX;6Q02P$"% ,4    "  H@'54)R05..$!
M  !$!   &0              @($*1P  >&PO=V]R:W-H965T<R]S:&5E=#$U
M+GAM;%!+ 0(4 Q0    ( "B =52>>FGKY@$  %X$   9              "
M@2))  !X;"]W;W)K<VAE971S+W-H965T,38N>&UL4$L! A0#%     @ *(!U
M5&(A"/5."   U1@  !D              ("!/TL  'AL+W=O<FMS:&5E=',O
M<VAE970Q-RYX;6Q02P$"% ,4    "  H@'54%*IM+XT"  !.!0  &0
M        @('$4P  >&PO=V]R:W-H965T<R]S:&5E=#$X+GAM;%!+ 0(4 Q0
M   ( "B =53,)V)QTP(  .X%   9              " @8A6  !X;"]W;W)K
M<VAE971S+W-H965T,3DN>&UL4$L! A0#%     @ *(!U5$&>2,9T @  .04
M !D              ("!DED  'AL+W=O<FMS:&5E=',O<VAE970R,"YX;6Q0
M2P$"% ,4    "  H@'54P=(E!+8"  !L!@  &0              @($]7
M>&PO=V]R:W-H965T<R]S:&5E=#(Q+GAM;%!+ 0(4 Q0    ( "B =53YL>@"
M0P(  .T$   9              " @2I?  !X;"]W;W)K<VAE971S+W-H965T
M,C(N>&UL4$L! A0#%     @ *(!U5+OVT[Z3 @  EP4  !D
M ("!I&$  'AL+W=O<FMS:&5E=',O<VAE970R,RYX;6Q02P$"% ,4    "  H
M@'5453?#[:$"  !Y!0  &0              @(%N9   >&PO=V]R:W-H965T
M<R]S:&5E=#(T+GAM;%!+ 0(4 Q0    ( "B =51I(ZP>+0(  *X$   9
M          " @49G  !X;"]W;W)K<VAE971S+W-H965T,C4N>&UL4$L! A0#
M%     @ *(!U5+5KQ :"!   Q@\  !D              ("!JFD  'AL+W=O
M<FMS:&5E=',O<VAE970R-BYX;6Q02P$"% ,4    "  H@'54 R#/]5P#  !R
M"   &0              @(%C;@  >&PO=V]R:W-H965T<R]S:&5E=#(W+GAM
M;%!+ 0(4 Q0    ( "B =51UJVF>&@(  /<$   9              " @?9Q
M  !X;"]W;W)K<VAE971S+W-H965T,C@N>&UL4$L! A0#%     @ *(!U5'IV
M [84 P  1@X  !D              ("!1W0  'AL+W=O<FMS:&5E=',O<VAE
M970R.2YX;6Q02P$"% ,4    "  H@'54FA. ZCT"  "Q!0  &0
M    @(&2=P  >&PO=V]R:W-H965T<R]S:&5E=#,P+GAM;%!+ 0(4 Q0    (
M "B =52C=@Z>)0(  !0%   9              " @09Z  !X;"]W;W)K<VAE
M971S+W-H965T,S$N>&UL4$L! A0#%     @ *(!U5*_/2E>% @  V@8  !D
M             ("!8GP  'AL+W=O<FMS:&5E=',O<VAE970S,BYX;6Q02P$"
M% ,4    "  H@'542TS&L=<"  #H!P  &0              @($>?P  >&PO
M=V]R:W-H965T<R]S:&5E=#,S+GAM;%!+ 0(4 Q0    ( "B =523]E=R90(
M %$&   9              " @2R"  !X;"]W;W)K<VAE971S+W-H965T,S0N
M>&UL4$L! A0#%     @ *(!U5/A 8WX: P  )PH  !D              ("!
MR(0  'AL+W=O<FMS:&5E=',O<VAE970S-2YX;6Q02P$"% ,4    "  H@'54
M"-@&5X8"  !!!P  &0              @($9B   >&PO=V]R:W-H965T<R]S
M:&5E=#,V+GAM;%!+ 0(4 Q0    ( "B =52'QW:Q%0,  &<*   9
M      " @=:*  !X;"]W;W)K<VAE971S+W-H965T,S<N>&UL4$L! A0#%
M  @ *(!U5%8GVB*Z @  L0<  !D              ("!(HX  'AL+W=O<FMS
M:&5E=',O<VAE970S."YX;6Q02P$"% ,4    "  H@'548'BY"? !  !5!
M&0              @($3D0  >&PO=V]R:W-H965T<R]S:&5E=#,Y+GAM;%!+
M 0(4 Q0    ( "B =53>94NY,P(  !D%   9              " @3J3  !X
M;"]W;W)K<VAE971S+W-H965T-# N>&UL4$L! A0#%     @ *(!U5)=K>+%;
M @  , 8  !D              ("!I)4  'AL+W=O<FMS:&5E=',O<VAE970T
M,2YX;6Q02P$"% ,4    "  H@'54HK"6"^H%   ?'   &0
M@($VF   >&PO=V]R:W-H965T<R]S:&5E=#0R+GAM;%!+ 0(4 Q0    ( "B
M=50H6OE8. 0  # 2   9              " @5>>  !X;"]W;W)K<VAE971S
M+W-H965T-#,N>&UL4$L! A0#%     @ *(!U5/%+^C3@ @  4 H  !D
M         ("!QJ(  'AL+W=O<FMS:&5E=',O<VAE970T-"YX;6Q02P$"% ,4
M    "  H@'541S8IMQP"  #H!   &0              @('=I0  >&PO=V]R
M:W-H965T<R]S:&5E=#0U+GAM;%!+ 0(4 Q0    ( "B =53*RV&:@ (  +X&
M   9              " @3"H  !X;"]W;W)K<VAE971S+W-H965T-#8N>&UL
M4$L! A0#%     @ *(!U5!:AP],! P  B0\   T              ( !YZH
M 'AL+W-T>6QE<RYX;6Q02P$"% ,4    "  H@'54EXJ[',     3 @  "P
M            @ $3K@  7W)E;',O+G)E;'-02P$"% ,4    "  H@'54-]2T
MQ4<$   L'P  #P              @ '\K@  >&PO=V]R:V)O;VLN>&UL4$L!
M A0#%     @ *(!U5/TLU:6N 0  P1L  !H              ( !<+,  'AL
M+U]R96QS+W=O<FMB;V]K+GAM;"YR96QS4$L! A0#%     @ *(!U5";ZAZ>U
M 0  W!L  !,              ( !5K4  %M#;VYT96YT7U1Y<&5S72YX;6Q0
52P4&     #8 -@"Q#@  /+<

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<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>63
<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>64
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.22.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>88</ContextCount>
  <ElementCount>186</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>26</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>4</UnitCount>
  <MyReports>
    <Report instance="d288627d10k.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.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>000020 - Statement - Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>000030 - Statement - Consolidated Balance Sheets - Parenthetical</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>Consolidated Balance Sheets - Parenthetical</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>000040 - Statement - Consolidated Statements of Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome</Role>
      <ShortName>Consolidated Statements of Income</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>000050 - Statement - Consolidated Statements of Shareholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity</Role>
      <ShortName>Consolidated Statements of Shareholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>000060 - Statement - Consolidated Statements of Shareholders' Equity - Parenthetical</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical</Role>
      <ShortName>Consolidated Statements of Shareholders' Equity - Parenthetical</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>000070 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows</Role>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>000080 - Disclosure - 1 - Nature of Business and Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies</Role>
      <ShortName>1 - Nature of Business and Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>000090 - Disclosure - 2 - Balance Sheet Details</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetails</Role>
      <ShortName>2 - Balance Sheet Details</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>000100 - Disclosure - 3 - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxes</Role>
      <ShortName>3 - Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>000110 - Disclosure - 4 - Profit Sharing Plan</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure4ProfitSharingPlan</Role>
      <ShortName>4 - Profit Sharing Plan</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>000120 - Disclosure - 5 - Other Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncome</Role>
      <ShortName>5 - Other Income</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>000130 - Disclosure - 6 - Segment Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformation</Role>
      <ShortName>6 - Segment Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>000140 - Disclosure - 7 - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure7CommitmentsAndContingencies</Role>
      <ShortName>7 - Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>000150 - Disclosure - 8 - COVID-19</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure8Covid19</Role>
      <ShortName>8 - COVID-19</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>000160 - Disclosure - 9 - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure9SubsequentEvents</Role>
      <ShortName>9 - Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>000170 - Disclosure - Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_DisclosureSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20211231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies</ParentRole>
      <Position>17</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>000180 - Disclosure - 2 - Balance Sheet Details: Inventory (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables</Role>
      <ShortName>2 - Balance Sheet Details: Inventory (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>000190 - Disclosure - 2 - Balance Sheet Details: Property, Plant and Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables</Role>
      <ShortName>2 - Balance Sheet Details: Property, Plant and Equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>000200 - Disclosure - 2 - Balance Sheet Details: Other Accrued Expenses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables</Role>
      <ShortName>2 - Balance Sheet Details: Other Accrued Expenses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>000210 - Disclosure - 2 - Balance Sheet Details: Schedule of Valuation and Qualifying Accounts (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables</Role>
      <ShortName>2 - Balance Sheet Details: Schedule of Valuation and Qualifying Accounts (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>000220 - Disclosure - 3 - Income Taxes: Provision for Income Tax Expense (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables</Role>
      <ShortName>3 - Income Taxes: Provision for Income Tax Expense (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>000230 - Disclosure - 3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables</Role>
      <ShortName>3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>000240 - Disclosure - 3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables</Role>
      <ShortName>3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>000250 - Disclosure - 5 - Other Income: Other Income (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncomeOtherIncomeTables</Role>
      <ShortName>5 - Other Income: Other Income (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>000260 - Disclosure - 6 - Segment Information: Schedule of Segment Reporting Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables</Role>
      <ShortName>6 - Segment Information: Schedule of Segment Reporting Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>000270 - Disclosure - 6 - Segment Information: Disaggregation of Revenue (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables</Role>
      <ShortName>6 - Segment Information: Disaggregation of Revenue (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>000280 - Disclosure - Deferred Revenue Recognized (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_DisclosureDeferredRevenueRecognizedDetails</Role>
      <ShortName>Deferred Revenue Recognized (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>000290 - Disclosure - Estimated Useful Lives by Asset Category (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails</Role>
      <ShortName>Estimated Useful Lives by Asset Category (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>000300 - Disclosure - Uncertain Tax Positions and Unrecognized Tax Benefits (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails</Role>
      <ShortName>Uncertain Tax Positions and Unrecognized Tax Benefits (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>30</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>000310 - Disclosure - Weighted Avg. Number of Shares Outstanding (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails</Role>
      <ShortName>Weighted Avg. Number of Shares Outstanding (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>000320 - Disclosure - 2 - Balance Sheet Details: Inventory (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails</Role>
      <ShortName>2 - Balance Sheet Details: Inventory (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>000330 - Disclosure - 2 - Balance Sheet Details: Property, Plant and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails</Role>
      <ShortName>2 - Balance Sheet Details: Property, Plant and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>000340 - Disclosure - 2 - Balance Sheet Details: Other Accrued Expenses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails</Role>
      <ShortName>2 - Balance Sheet Details: Other Accrued Expenses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>000350 - Disclosure - Schedule of Valuation and Qualifying Accounts (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails</Role>
      <ShortName>Schedule of Valuation and Qualifying Accounts (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>000360 - Disclosure - 3 - Income Taxes: Provision for Income Tax Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails</Role>
      <ShortName>3 - Income Taxes: Provision for Income Tax Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>000370 - Disclosure - 3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails</Role>
      <ShortName>3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>000380 - Disclosure - 3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails</Role>
      <ShortName>3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>000390 - Disclosure - Other Income Tax Disclosures (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_DisclosureOtherIncomeTaxDisclosuresDetails</Role>
      <ShortName>Other Income Tax Disclosures (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>000400 - Disclosure - Profit Sharing Plan (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_DisclosureProfitSharingPlanDetails</Role>
      <ShortName>Profit Sharing Plan (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>000410 - Disclosure - 5 - Other Income: Other Income (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails</Role>
      <ShortName>5 - Other Income: Other Income (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncomeOtherIncomeTables</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>000420 - Disclosure - 6 - Segment Information: Schedule of Segment Reporting Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails</Role>
      <ShortName>6 - Segment Information: Schedule of Segment Reporting Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>000430 - Disclosure - 6 - Segment Information: Disaggregation of Revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails</Role>
      <ShortName>6 - Segment Information: Disaggregation of Revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>000440 - Disclosure - Summary of % of Revenues and A/R from Major Customers (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails</Role>
      <ShortName>Summary of % of Revenues and A/R from Major Customers (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>000450 - Disclosure - Commitments and Contingencies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_DisclosureCommitmentsAndContingenciesDetails</Role>
      <ShortName>Commitments and Contingencies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="d288627d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>000460 - Disclosure - Subsequent Events (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20211231/role/idr_DisclosureSubsequentEventsDetails</Role>
      <ShortName>Subsequent Events (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</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" original="d288627d10k.htm">d288627d10k.htm</File>
    <File>cvr-20211231.xsd</File>
    <File>cvr-20211231_cal.xml</File>
    <File>cvr-20211231_def.xml</File>
    <File>cvr-20211231_lab.xml</File>
    <File>cvr-20211231_pre.xml</File>
    <File>d288627dex21.htm</File>
    <File>d288627dex311.htm</File>
    <File>d288627dex312.htm</File>
    <File>d288627dex32.htm</File>
    <File>d288627dex321.htm</File>
    <File>d288627dex322.htm</File>
  </InputFiles>
  <SupplementalFiles>
    <File>g288627crmlogo.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="1">http://fasb.org/srt/2021-01-31</BaseTaxonomy>
    <BaseTaxonomy items="407">http://fasb.org/us-gaap/2021-01-31</BaseTaxonomy>
    <BaseTaxonomy items="37">http://xbrl.sec.gov/dei/2021q4</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>67
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "d288627d10k.htm": {
   "axisCustom": 0,
   "axisStandard": 8,
   "contextCount": 88,
   "dts": {
    "calculationLink": {
     "local": [
      "cvr-20211231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "cvr-20211231_def.xml"
     ]
    },
    "inline": {
     "local": [
      "d288627d10k.htm"
     ]
    },
    "labelLink": {
     "local": [
      "cvr-20211231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "cvr-20211231_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "cvr-20211231.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://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd",
      "https://xbrl.fasb.org/srt/2021/elts/srt-roles-2021-01-31.xsd",
      "https://xbrl.fasb.org/srt/2021/elts/srt-types-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-roles-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-types-2021-01-31.xsd",
      "https://xbrl.sec.gov/country/2021/country-2021.xsd",
      "https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd"
     ]
    }
   },
   "elementCount": 249,
   "entityCount": 1,
   "hidden": {
    "http://xbrl.sec.gov/dei/2021q4": 6,
    "total": 6
   },
   "keyCustom": 2,
   "keyStandard": 184,
   "memberCustom": 12,
   "memberStandard": 14,
   "nsprefix": "fil",
   "nsuri": "http://www.chicagorivet.com/20211231",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "000010 - Document - Document and Entity Information",
     "role": "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation",
     "shortName": "Document and Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000100 - Disclosure - 3 - Income Taxes",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxes",
     "shortName": "3 - Income Taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000110 - Disclosure - 4 - Profit Sharing Plan",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure4ProfitSharingPlan",
     "shortName": "4 - Profit Sharing Plan",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InterestAndOtherIncomeTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000120 - Disclosure - 5 - Other Income",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncome",
     "shortName": "5 - Other Income",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InterestAndOtherIncomeTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000130 - Disclosure - 6 - Segment Information",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformation",
     "shortName": "6 - Segment Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000140 - Disclosure - 7 - Commitments and Contingencies",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure7CommitmentsAndContingencies",
     "shortName": "7 - Commitments and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000150 - Disclosure - 8 - COVID-19",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure8Covid19",
     "shortName": "8 - COVID-19",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000160 - Disclosure - 9 - Subsequent Events",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure9SubsequentEvents",
     "shortName": "9 - Subsequent Events",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000170 - Disclosure - Significant Accounting Policies (Policies)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_DisclosureSignificantAccountingPoliciesPolicies",
     "shortName": "Significant Accounting Policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000180 - Disclosure - 2 - Balance Sheet Details: Inventory (Tables)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables",
     "shortName": "2 - Balance Sheet Details: Inventory (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000190 - Disclosure - 2 - Balance Sheet Details: Property, Plant and Equipment (Tables)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables",
     "shortName": "2 - Balance Sheet Details: Property, Plant and Equipment (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "E21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000020 - Statement - Consolidated Balance Sheets",
     "role": "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets",
     "shortName": "Consolidated Balance Sheets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "E21",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:CertificatesOfDepositAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000200 - Disclosure - 2 - Balance Sheet Details: Other Accrued Expenses (Tables)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables",
     "shortName": "2 - Balance Sheet Details: Other Accrued Expenses (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000210 - Disclosure - 2 - Balance Sheet Details: Schedule of Valuation and Qualifying Accounts (Tables)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables",
     "shortName": "2 - Balance Sheet Details: Schedule of Valuation and Qualifying Accounts (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000220 - Disclosure - 3 - Income Taxes: Provision for Income Tax Expense (Tables)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables",
     "shortName": "3 - Income Taxes: Provision for Income Tax Expense (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000230 - Disclosure - 3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables",
     "shortName": "3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000240 - Disclosure - 3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables",
     "shortName": "3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:InterestAndOtherIncomeTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InterestAndOtherIncomeTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000250 - Disclosure - 5 - Other Income: Other Income (Tables)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncomeOtherIncomeTables",
     "shortName": "5 - Other Income: Other Income (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:InterestAndOtherIncomeTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InterestAndOtherIncomeTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000260 - Disclosure - 6 - Segment Information: Schedule of Segment Reporting Information (Tables)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables",
     "shortName": "6 - Segment Information: Schedule of Segment Reporting Information (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21_StGeo-Location",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000270 - Disclosure - 6 - Segment Information: Disaggregation of Revenue (Tables)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables",
     "shortName": "6 - Segment Information: Disaggregation of Revenue (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21_StGeo-Location",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure",
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000280 - Disclosure - Deferred Revenue Recognized (Details)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_DisclosureDeferredRevenueRecognizedDetails",
     "shortName": "Deferred Revenue Recognized (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure",
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21_Range-Minimum_PpeByType-LandImprovements",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000290 - Disclosure - Estimated Useful Lives by Asset Category (Details)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails",
     "shortName": "Estimated Useful Lives by Asset Category (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21_Range-Minimum_PpeByType-LandImprovements",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "E21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000030 - Statement - Consolidated Balance Sheets - Parenthetical",
     "role": "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheetsParenthetical",
     "shortName": "Consolidated Balance Sheets - Parenthetical",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "E21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "E21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:LiabilityForUncertainTaxPositionsCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000300 - Disclosure - Uncertain Tax Positions and Unrecognized Tax Benefits (Details)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails",
     "shortName": "Uncertain Tax Positions and Unrecognized Tax Benefits (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "E21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:LiabilityForUncertainTaxPositionsCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:EarningsPerSharePolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000310 - Disclosure - Weighted Avg. Number of Shares Outstanding (Details)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails",
     "shortName": "Weighted Avg. Number of Shares Outstanding (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:EarningsPerSharePolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "E21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000320 - Disclosure - 2 - Balance Sheet Details: Inventory (Details)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails",
     "shortName": "2 - Balance Sheet Details: Inventory (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "E21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "E21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:LandAndLandImprovements",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000330 - Disclosure - 2 - Balance Sheet Details: Property, Plant and Equipment (Details)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails",
     "shortName": "2 - Balance Sheet Details: Property, Plant and Equipment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "E21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:LandAndLandImprovements",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "E21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:OtherEmployeeRelatedLiabilitiesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000340 - Disclosure - 2 - Balance Sheet Details: Other Accrued Expenses (Details)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails",
     "shortName": "2 - Balance Sheet Details: Other Accrued Expenses (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "E21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:OtherEmployeeRelatedLiabilitiesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "E20_ValuationAllowancesAndReservesType-AllowanceForCreditLoss",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000350 - Disclosure - Schedule of Valuation and Qualifying Accounts (Details)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails",
     "shortName": "Schedule of Valuation and Qualifying Accounts (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "E19_ValuationAllowancesAndReservesType-AllowanceForCreditLoss",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000360 - Disclosure - 3 - Income Taxes: Provision for Income Tax Expense (Details)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails",
     "shortName": "3 - Income Taxes: Provision for Income Tax Expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000370 - Disclosure - 3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails",
     "shortName": "3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "E21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000380 - Disclosure - 3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails",
     "shortName": "3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "E21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "E21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsValuationAllowance",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000390 - Disclosure - Other Income Tax Disclosures (Details)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_DisclosureOtherIncomeTaxDisclosuresDetails",
     "shortName": "Other Income Tax Disclosures (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "E21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsValuationAllowance",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000040 - Statement - Consolidated Statements of Income",
     "role": "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome",
     "shortName": "Consolidated Statements of Income",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:CostOfRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000400 - Disclosure - Profit Sharing Plan (Details)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_DisclosureProfitSharingPlanDetails",
     "shortName": "Profit Sharing Plan (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:InterestAndOtherIncomeTableTextBlock",
       "us-gaap:InterestAndOtherIncomeTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:InvestmentIncomeInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000410 - Disclosure - 5 - Other Income: Other Income (Details)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails",
     "shortName": "5 - Other Income: Other Income (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:InterestAndOtherIncomeTableTextBlock",
       "us-gaap:InterestAndOtherIncomeTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:InvestmentIncomeInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000420 - Disclosure - 6 - Segment Information: Schedule of Segment Reporting Information (Details)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
     "shortName": "6 - Segment Information: Schedule of Segment Reporting Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21_StBusnSeg-Fastener",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000430 - Disclosure - 6 - Segment Information: Disaggregation of Revenue (Details)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails",
     "shortName": "6 - Segment Information: Disaggregation of Revenue (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21_MajCust-TIGroupAutomotiveSystems",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000440 - Disclosure - Summary of % of Revenues and A/R from Major Customers (Details)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails",
     "shortName": "Summary of % of Revenues and A/R from Major Customers (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21_MajCust-TIGroupAutomotiveSystems",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeasesRentExpenseNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000450 - Disclosure - Commitments and Contingencies (Details)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_DisclosureCommitmentsAndContingenciesDetails",
     "shortName": "Commitments and Contingencies (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeasesRentExpenseNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:ScheduleOfSubsequentEventsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DividendsPayableDateDeclaredDayMonthAndYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000460 - Disclosure - Subsequent Events (Details)",
     "role": "http://www.chicagorivet.com/20211231/role/idr_DisclosureSubsequentEventsDetails",
     "shortName": "Subsequent Events (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:ScheduleOfSubsequentEventsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DividendsPayableDateDeclaredDayMonthAndYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "E19",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000050 - Statement - Consolidated Statements of Shareholders' Equity",
     "role": "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity",
     "shortName": "Consolidated Statements of Shareholders' Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "E19",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockDividendsPerShareDeclared",
      "reportCount": 1,
      "unique": true,
      "unitRef": "UsdPerShare",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000060 - Statement - Consolidated Statements of Shareholders' Equity - Parenthetical",
     "role": "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical",
     "shortName": "Consolidated Statements of Shareholders' Equity - Parenthetical",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockDividendsPerShareDeclared",
      "reportCount": 1,
      "unique": true,
      "unitRef": "UsdPerShare",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000070 - Statement - Consolidated Statements of Cash Flows",
     "role": "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows",
     "shortName": "Consolidated Statements of Cash Flows",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:GainLossOnDispositionOfAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000080 - Disclosure - 1 - Nature of Business and Significant Accounting Policies",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies",
     "shortName": "1 - Nature of Business and Significant Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000090 - Disclosure - 2 - Balance Sheet Details",
     "role": "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetails",
     "shortName": "2 - Balance Sheet Details",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d288627d10k.htm",
      "contextRef": "Y21",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 26,
   "tag": {
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AuditorFirmId": {
     "auth_ref": [
      "r344",
      "r345",
      "r346"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "PCAOB issued Audit Firm Identifier",
        "label": "Auditor Firm ID"
       }
      }
     },
     "localname": "AuditorFirmId",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "nonemptySequenceNumberItemType"
    },
    "dei_AuditorLocation": {
     "auth_ref": [
      "r344",
      "r345",
      "r346"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "localname": "AuditorLocation",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "dei_AuditorName": {
     "auth_ref": [
      "r344",
      "r345",
      "r346"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "localname": "AuditorName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentAnnualReport": {
     "auth_ref": [
      "r344",
      "r345",
      "r346"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an annual report.",
        "label": "Document Annual Report"
       }
      }
     },
     "localname": "DocumentAnnualReport",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r347"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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'.",
        "label": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r342"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Registrant CIK"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r342"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r342"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r348"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityPublicFloat": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity Public Float"
       }
      }
     },
     "localname": "EntityPublicFloat",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "monetaryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r342"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r342"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r342"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r342"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_EntityVoluntaryFilers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity Voluntary Filers"
       }
      }
     },
     "localname": "EntityVoluntaryFilers",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [
      "r360"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity Well-known Seasoned Issuer"
       }
      }
     },
     "localname": "EntityWellKnownSeasonedIssuer",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_IcfrAuditorAttestationFlag": {
     "auth_ref": [
      "r344",
      "r345",
      "r346"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "localname": "IcfrAuditorAttestationFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r341"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r343"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "fil_AssemblyEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Assembly Equipment, during the indicated time period.",
        "label": "Assembly Equipment"
       }
      }
     },
     "localname": "AssemblyEquipmentMember",
     "nsuri": "http://www.chicagorivet.com/20211231",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_AutomotiveMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Automotive, during the indicated time period.",
        "label": "Automotive"
       }
      }
     },
     "localname": "AutomotiveMember",
     "nsuri": "http://www.chicagorivet.com/20211231",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_CooperStandardHoldingsIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Cooper Standard Holdings Inc, during the indicated time period.",
        "label": "Cooper Standard Holdings Inc"
       }
      }
     },
     "localname": "CooperStandardHoldingsIncMember",
     "nsuri": "http://www.chicagorivet.com/20211231",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_EndMarketMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the End Market, during the indicated time period.",
        "label": "End Market"
       }
      }
     },
     "localname": "EndMarketMember",
     "nsuri": "http://www.chicagorivet.com/20211231",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_FastenerMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Fastener, during the indicated time period.",
        "label": "Fastener"
       }
      }
     },
     "localname": "FastenerMember",
     "nsuri": "http://www.chicagorivet.com/20211231",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_ForeignMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Foreign, during the indicated time period.",
        "label": "Foreign"
       }
      }
     },
     "localname": "ForeignMember",
     "nsuri": "http://www.chicagorivet.com/20211231",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_LocationMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Location, during the indicated time period.",
        "label": "Location"
       }
      }
     },
     "localname": "LocationMember",
     "nsuri": "http://www.chicagorivet.com/20211231",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_NonautomotiveMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Nonautomotive, during the indicated time period.",
        "label": "Nonautomotive"
       }
      }
     },
     "localname": "NonautomotiveMember",
     "nsuri": "http://www.chicagorivet.com/20211231",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_ParkerHannifinCorporationMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Parker Hannifin Corporation, during the indicated time period.",
        "label": "Parker Hannifin Corporation"
       }
      }
     },
     "localname": "ParkerHannifinCorporationMember",
     "nsuri": "http://www.chicagorivet.com/20211231",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_SegmentOperatingProfit": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting segment operating expenses from segment operating revenues.",
        "label": "Segment operating profit"
       }
      }
     },
     "localname": "SegmentOperatingProfit",
     "nsuri": "http://www.chicagorivet.com/20211231",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_SellingAndAdministrativeExpensesUnallocatedCorporate": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses.",
        "label": "Selling and Administrative Expenses {1}",
        "terseLabel": "Selling and Administrative Expenses"
       }
      }
     },
     "localname": "SellingAndAdministrativeExpensesUnallocatedCorporate",
     "nsuri": "http://www.chicagorivet.com/20211231",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_TIGroupAutomotiveSystemsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the T.I. Group Automotive Systems, during the indicated time period.",
        "label": "T.I. Group Automotive Systems"
       }
      }
     },
     "localname": "TIGroupAutomotiveSystemsMember",
     "nsuri": "http://www.chicagorivet.com/20211231",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_UnallocatedCorporateMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Unallocated Corporate, during the indicated time period.",
        "label": "Unallocated Corporate"
       }
      }
     },
     "localname": "UnallocatedCorporateMember",
     "nsuri": "http://www.chicagorivet.com/20211231",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_UnitedStatesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the United States, during the indicated time period.",
        "label": "United States"
       }
      }
     },
     "localname": "UnitedStatesMember",
     "nsuri": "http://www.chicagorivet.com/20211231",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r165",
      "r214",
      "r218",
      "r319"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name or description of a single external customer or a group of external customers.",
        "label": "Customer [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r206",
      "r208",
      "r223",
      "r224",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r316",
      "r320",
      "r339",
      "r340"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Upper limit of the provided range.",
        "label": "Maximum"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r206",
      "r208",
      "r223",
      "r224",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r316",
      "r320",
      "r339",
      "r340"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lower limit of the provided range.",
        "label": "Minimum"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [
      "r165",
      "r214",
      "r218",
      "r319"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Single external customer or group of external customers.",
        "label": "Customer"
       }
      }
     },
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r161",
      "r214",
      "r216",
      "r299",
      "r315",
      "r317"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by product and service, or group of similar products and similar services.",
        "label": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r161",
      "r214",
      "r216",
      "r299",
      "r315",
      "r317"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Product or service, or a group of similar products or similar services.",
        "label": "Product and Service"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r206",
      "r208",
      "r222",
      "r223",
      "r224",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r316",
      "r320",
      "r339",
      "r340"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median.",
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r206",
      "r208",
      "r222",
      "r223",
      "r224",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r316",
      "r320",
      "r339",
      "r340"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median.",
        "label": "Statistical Measurement"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock": {
     "auth_ref": [
      "r93",
      "r359"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for valuation and qualifying accounts and reserves.",
        "label": "Schedule of Valuation and Qualifying Accounts"
       }
      }
     },
     "localname": "ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r162",
      "r163",
      "r214",
      "r217",
      "r318",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r349",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Geographical area.",
        "label": "Geographical"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r162",
      "r163",
      "r214",
      "r217",
      "r318",
      "r326",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r349",
      "r350"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by geographical components.",
        "label": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r36",
      "r289"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Accounts Payable {1}",
        "terseLabel": "Accounts Payable"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r5",
      "r23",
      "r167",
      "r168"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Accounts Receivable - Less allowances of $170,000",
        "verboseLabel": "Accounts receivable, net"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent": {
     "auth_ref": [
      "r14",
      "r38",
      "r230"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for real and property taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Property taxes"
       }
      }
     },
     "localname": "AccrualForTaxesOtherThanIncomeTaxesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r38"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Other Accrued Expenses"
       }
      }
     },
     "localname": "AccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails",
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "auth_ref": [
      "r35",
      "r185"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.",
        "label": "Less: Accumulated Depreciation",
        "negatedLabel": "Less: Accumulated Depreciation"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalInformationAboutEntitysReportableSegments": {
     "auth_ref": [
      "r124"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additional information about the entity or its reportable segments that may contribute to an understanding of the enterprise.",
        "label": "Percentage of accounts receivable balances"
       }
      }
     },
     "localname": "AdditionalInformationAboutEntitysReportableSegments",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r24"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Additional Paid-in Capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r95",
      "r96",
      "r97",
      "r226",
      "r227",
      "r228",
      "r273"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Additional Paid-in Capital {1}",
        "terseLabel": "Additional Paid-in Capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Reconcile Net Income to Net Cash (Used in) Provided by Operating Activities"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllowanceForCreditLossMember": {
     "auth_ref": [
      "r87",
      "r88",
      "r89",
      "r91",
      "r92"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Allowance for credit loss from right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.",
        "label": "SEC Schedule, 12-09, Allowance, Credit Loss"
       }
      }
     },
     "localname": "AllowanceForCreditLossMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r29",
      "r169",
      "r174"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.",
        "label": "Accounts Receivable, Allowance for Credit Loss, Current"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r82",
      "r137",
      "r150",
      "r157",
      "r172",
      "r195",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r268",
      "r271",
      "r279",
      "r287",
      "r289",
      "r301",
      "r309"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Total Assets",
        "totalLabel": "Total Assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets {1}",
        "terseLabel": "Assets"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r7",
      "r9",
      "r48",
      "r82",
      "r172",
      "r195",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r268",
      "r271",
      "r279",
      "r287",
      "r289"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Total Current Assets",
        "totalLabel": "Total Current Assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Assets"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r94"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).  Accounting policies describe all significant accounting policies of the reporting entity.",
        "label": "1 - Nature of Business and Significant Accounting Policies"
       }
      }
     },
     "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BuildingImprovementsMember": {
     "auth_ref": [
      "r184"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Addition, improvement, or renovation to a facility held for productive use including, but not limited to, office, production, storage and distribution facilities.",
        "label": "Building Improvements"
       }
      }
     },
     "localname": "BuildingImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BuildingsAndImprovementsGross": {
     "auth_ref": [
      "r11",
      "r184"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Buildings and improvements"
       }
      }
     },
     "localname": "BuildingsAndImprovementsGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r3",
      "r33",
      "r76"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Cash and Cash Equivalents",
        "periodEndLabel": "End of Year",
        "periodStartLabel": "Beginning of Year"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets",
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents {1}",
        "terseLabel": "Cash and Cash Equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease": {
     "auth_ref": [],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash and cash equivalents. Cash and cash equivalents are the 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. Includes effect from exchange rate changes.",
        "label": "Net (Decrease) Increase in Cash and Cash Equivalents",
        "totalLabel": "Net (Decrease) Increase in Cash and Cash Equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsPeriodIncreaseDecrease",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "auth_ref": [
      "r17",
      "r77"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Cash and Cash Equivalents and Certificates of Deposit"
       }
      }
     },
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CertificatesOfDepositAtCarryingValue": {
     "auth_ref": [
      "r33"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A savings certificate entitling the Entity (that is, bearer) to receive interest at an established maturity date, based upon a fixed interest rate.  A certificate of deposit may be issued in any denomination. Certificates of deposit are generally issued by commercial banks and, therefore, insured by the FDIC (up to the prescribed limit).  Certificates of deposit generally restrict holders from withdrawing funds on demand without the incurrence of penalties.  Generally, only certificates of deposit with original maturities of three months or less qualify as cash equivalents. Original maturity means original maturity to the entity holding the investment. As a related example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.",
        "label": "Certificates of Deposit"
       }
      }
     },
     "localname": "CertificatesOfDepositAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and contingencies (Note 7)"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r191",
      "r192",
      "r193",
      "r194",
      "r327"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "7 - Commitments and Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure7CommitmentsAndContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockDividendsPerShareDeclared": {
     "auth_ref": [
      "r210"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding.",
        "label": "Common Stock, Dividends, Per Share, Declared"
       }
      }
     },
     "localname": "CommonStockDividendsPerShareDeclared",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r95",
      "r96",
      "r273"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r22"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r22"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common Stock, Shares Authorized"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r22"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Common Stock, Shares, Issued"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r22",
      "r209"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common Stock, Shares, Outstanding",
        "periodEndLabel": "Common Stock Shares",
        "periodStartLabel": "Common Stock Shares"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheetsParenthetical",
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValueOutstanding": {
     "auth_ref": [
      "r22"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of all classes of common stock held by shareholders. May be all or portion of the number of common shares authorized. These shares exclude common shares repurchased by the entity and held as treasury shares.",
        "label": "Common Stock, $1.00 Par Value, 4,000,000 Shares Authorized: 1,138,096 Shares Issued, 966,132 Shares Outstanding"
       }
      }
     },
     "localname": "CommonStockValueOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock": {
     "auth_ref": [
      "r220",
      "r221",
      "r225"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure of an entity's employee compensation and benefit plans, excluding share-based compensation and including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, life insurance, severance, health care, unemployment and other benefit plans.",
        "label": "4 - Profit Sharing Plan"
       }
      }
     },
     "localname": "CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure4ProfitSharingPlan"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "auth_ref": [
      "r116",
      "r307"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for credit risk.",
        "label": "Credit Risk"
       }
      }
     },
     "localname": "ConcentrationRiskCreditRisk",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "auth_ref": [
      "r119",
      "r120",
      "r165",
      "r277",
      "r278"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.",
        "label": "Percentage of revenues from major customers"
       }
      }
     },
     "localname": "ConcentrationRiskPercentage1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "auth_ref": [
      "r80",
      "r270"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Principles of Consolidation"
       }
      }
     },
     "localname": "ConsolidationPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "auth_ref": [
      "r215"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.",
        "label": "Deferred Revenue Recognized"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureDeferredRevenueRecognizedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfRevenue": {
     "auth_ref": [
      "r60",
      "r82",
      "r172",
      "r195",
      "r196",
      "r197",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r279"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period.",
        "label": "Cost of Goods Sold"
       }
      }
     },
     "localname": "CostOfRevenue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "auth_ref": [
      "r83",
      "r248",
      "r255"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current state and local tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Provision for State income tax expense, Current"
       }
      }
     },
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CustomerAdvancesAndDepositsCurrent": {
     "auth_ref": [
      "r38"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The current portion of aggregate prepayments received from customers for goods or services to be provided in the future, as well as the current portion of money or property received from customers that are to be returned upon satisfactory contract completion or as partial prepayment for goods or services to be provided in the future.",
        "label": "Unearned Revenue and Customer Deposits"
       }
      }
     },
     "localname": "CustomerAdvancesAndDepositsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r74",
      "r83",
      "r249",
      "r255",
      "r256",
      "r257"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Income Taxes",
        "verboseLabel": "Provision for income tax expense, Deferred"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails",
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsInventory": {
     "auth_ref": [
      "r246",
      "r247"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.",
        "label": "Inventory {1}",
        "terseLabel": "Inventory"
       }
      }
     },
     "localname": "DeferredTaxAssetsInventory",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNet": {
     "auth_ref": [
      "r243"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.",
        "label": "Deferred Tax Assets and Liabilities",
        "negatedLabel": "Deferred Tax Assets and Liabilities"
       }
      }
     },
     "localname": "DeferredTaxAssetsLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsOther": {
     "auth_ref": [
      "r246",
      "r247"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.",
        "label": "Other, net"
       }
      }
     },
     "localname": "DeferredTaxAssetsOther",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences": {
     "auth_ref": [
      "r246",
      "r247"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from compensated absences (includes, but not limited to, sick and personal days).",
        "label": "Accrued vacation"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": {
     "auth_ref": [
      "r246",
      "r247"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable.",
        "label": "Allowance for doubtful accounts"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r242"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.",
        "label": "Deferred tax assets valuation allowance"
       }
      }
     },
     "localname": "DeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureOtherIncomeTaxDisclosuresDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesNoncurrent": {
     "auth_ref": [
      "r233",
      "r234",
      "r235"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences, with jurisdictional netting and classified as noncurrent.",
        "label": "Deferred Income Taxes, net"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": {
     "auth_ref": [
      "r246",
      "r247"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.",
        "label": "Depreciation and amortization",
        "negatedLabel": "Depreciation and amortization"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan.",
        "label": "Defined Contribution Plan, Employer Discretionary Contribution Amount"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureProfitSharingPlanDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r74",
      "r183"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Depreciation and Amortization"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "auth_ref": [
      "r214"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureTextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Notes"
       }
      }
     },
     "localname": "DisclosureTextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DividendPayableDateToBePaidDayMonthAndYear": {
     "auth_ref": [
      "r79"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date the declared dividend will be paid, in YYYY-MM-DD format.",
        "label": "Dividends Payable, Date to be Paid"
       }
      }
     },
     "localname": "DividendPayableDateToBePaidDayMonthAndYear",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_Dividends": {
     "auth_ref": [
      "r210",
      "r306"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of paid and unpaid cash, stock, and paid-in-kind (PIK) dividends declared, for example, but not limited to, common and preferred stock.",
        "label": "Dividends Declared",
        "negatedLabel": "Dividends Declared"
       }
      }
     },
     "localname": "Dividends",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DividendsPayableAmountPerShare": {
     "auth_ref": [
      "r79"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The per share amount of a dividend declared, but not paid, as of the financial reporting date.",
        "label": "Dividends per share declared"
       }
      }
     },
     "localname": "DividendsPayableAmountPerShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_DividendsPayableCurrent": {
     "auth_ref": [
      "r14",
      "r38"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Dividends payable amount"
       }
      }
     },
     "localname": "DividendsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DividendsPayableDateDeclaredDayMonthAndYear": {
     "auth_ref": [
      "r79"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date the dividend to be paid was declared, in YYYY-MM-DD format.",
        "label": "Dividend declaration date"
       }
      }
     },
     "localname": "DividendsPayableDateDeclaredDayMonthAndYear",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_DividendsPayableDateOfRecordDayMonthAndYear": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date the holder must own the stock to be entitled to the dividend, in YYYY-MM-DD format.",
        "label": "Dividends Payable, Date of Record"
       }
      }
     },
     "localname": "DividendsPayableDateOfRecordDayMonthAndYear",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "auth_ref": [
      "r110",
      "r111"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Net Income Per Share {1}",
        "terseLabel": "Net Income Per Share"
       }
      }
     },
     "localname": "EarningsPerSharePolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "auth_ref": [
      "r237"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Income tax expense, %"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "auth_ref": [
      "r85",
      "r237",
      "r259"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).",
        "label": "Expected tax at U.S. statutory rate, %"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": {
     "auth_ref": [
      "r237",
      "r259"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage 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.",
        "label": "Permanent differences, %"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "auth_ref": [
      "r237",
      "r259"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage 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 applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).",
        "label": "State taxes, net of federal benefit, %"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "auth_ref": [
      "r38"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Accrued Wages and Salaries"
       }
      }
     },
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r0",
      "r53",
      "r54",
      "r55",
      "r95",
      "r96",
      "r97",
      "r99",
      "r104",
      "r106",
      "r113",
      "r173",
      "r209",
      "r210",
      "r226",
      "r227",
      "r228",
      "r251",
      "r252",
      "r273",
      "r280",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r321",
      "r322",
      "r323",
      "r361"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Equity Component"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows",
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueOfFinancialInstrumentsPolicy": {
     "auth_ref": [
      "r275",
      "r276"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments.",
        "label": "Fair Value of Financial Instruments"
       }
      }
     },
     "localname": "FairValueOfFinancialInstrumentsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations": {
     "auth_ref": [
      "r83",
      "r236"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current and deferred federal income tax expense (benefit) attributable to income (loss) from continuing operations.",
        "label": "Provision for Federal income tax expense, Current"
       }
      }
     },
     "localname": "FederalIncomeTaxExpenseBenefitContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnDispositionOfAssets": {
     "auth_ref": [
      "r74",
      "r182",
      "r187"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, excluding oil and gas property and timber property.",
        "label": "Loss on the Sale of Equipment"
       }
      }
     },
     "localname": "GainLossOnDispositionOfAssets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r59",
      "r82",
      "r137",
      "r149",
      "r153",
      "r156",
      "r159",
      "r172",
      "r195",
      "r196",
      "r197",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r279"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross Profit",
        "totalLabel": "Gross Profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": {
     "auth_ref": [
      "r84",
      "r258"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations.",
        "label": "Income Before Income Taxes",
        "totalLabel": "Income Before Income Taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerBasicAndDilutedShare": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) from continuing operations per each basic and diluted share of common stock or unit when the per share amount is the same for both basic and diluted shares.",
        "label": "Net Income Per Share"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsPerBasicAndDilutedShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Statements of Income"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r85",
      "r238",
      "r240",
      "r245",
      "r253",
      "r260",
      "r262",
      "r263",
      "r264"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "3 - Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r86",
      "r105",
      "r106",
      "r135",
      "r236",
      "r254",
      "r261",
      "r314"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Provision for Income Taxes",
        "verboseLabel": "Income tax expense"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails",
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails",
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "auth_ref": [
      "r52",
      "r231",
      "r232",
      "r240",
      "r241",
      "r244",
      "r250"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": {
     "auth_ref": [
      "r237"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Expected tax at U.S. statutory rate"
       }
      }
     },
     "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationOtherAdjustments": {
     "auth_ref": [
      "r237"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Permanent differences"
       }
      }
     },
     "localname": "IncomeTaxReconciliationOtherAdjustments",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": {
     "auth_ref": [
      "r237"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "State taxes, net of federal benefit"
       }
      }
     },
     "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxesPaid": {
     "auth_ref": [
      "r71",
      "r78"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.",
        "label": "Net Cash Piad for Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxesPaid",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxesPaidNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Paid (Refunds Received) for Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxesPaidNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r73"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Accounts Payable {2}",
        "terseLabel": "Accounts Payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r73"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Accounts Receivable, net"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits": {
     "auth_ref": [
      "r73"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the amount of (a) prepayments by customers for goods or services to be provided at a later date, (b) the amount of customer money held in customer accounts, including security deposits, collateral for a current or future transactions, initial payment of the cost of acquisition or for the right to enter into a contract or agreement, or (c) a combination of (a) and (b).",
        "label": "Unearned Revenue and Customer Deposits {1}",
        "terseLabel": "Unearned Revenue and Customer Deposits"
       }
      }
     },
     "localname": "IncreaseDecreaseInCustomerAdvancesAndDeposits",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": {
     "auth_ref": [
      "r73"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits.",
        "label": "Accrued Wages and Salaries {1}",
        "terseLabel": "Accrued Wages and Salaries"
       }
      }
     },
     "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r73"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Inventories, net {1}",
        "terseLabel": "Inventories, net"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changes in Operating Assets and Liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherAccruedLiabilities": {
     "auth_ref": [
      "r73"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in other expenses incurred but not yet paid.",
        "label": "Other Accrued Expenses {1}",
        "terseLabel": "Other Accrued Expenses"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "auth_ref": [
      "r73"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating assets classified as other.",
        "label": "Other Current Assets {1}",
        "terseLabel": "Other Current Assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestAndOtherIncome": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of interest income and other income recognized during the period. Included in this element is interest derived from investments in debt securities, cash and cash equivalents, and other investments which reflect the time value of money or transactions in which the payments are for the use or forbearance of money and other income from ancillary business-related activities (that is, excluding major activities considered part of the normal operations of the business).",
        "label": "Other Income {3}",
        "terseLabel": "Other Income"
       }
      }
     },
     "localname": "InterestAndOtherIncome",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestAndOtherIncomeTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of interest income and income classified as other.",
        "label": "Other Income {2}",
        "terseLabel": "Other Income"
       }
      }
     },
     "localname": "InterestAndOtherIncomeTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncomeOtherIncomeTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InterestAndOtherIncomeTextBlock": {
     "auth_ref": [
      "r219"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for interest and other income.",
        "label": "5 - Other Income"
       }
      }
     },
     "localname": "InterestAndOtherIncomeTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncome"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryFinishedGoods": {
     "auth_ref": [
      "r42"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.",
        "label": "Finished goods"
       }
      }
     },
     "localname": "InventoryFinishedGoods",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r4",
      "r45",
      "r289"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventories, net"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails",
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "auth_ref": [
      "r16",
      "r46",
      "r81",
      "r112",
      "r175",
      "r176",
      "r178",
      "r298"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Inventories"
       }
      }
     },
     "localname": "InventoryPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryRawMaterials": {
     "auth_ref": [
      "r44"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Raw materials"
       }
      }
     },
     "localname": "InventoryRawMaterials",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryValuationReserveMember": {
     "auth_ref": [
      "r87",
      "r88",
      "r89",
      "r91",
      "r92"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reserve to reduce inventory to lower of cost or net realizable value.",
        "label": "SEC Schedule, 12-09, Reserve, Inventory"
       }
      }
     },
     "localname": "InventoryValuationReserveMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InventoryValuationReserves": {
     "auth_ref": [
      "r45",
      "r177"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of valuation reserve for inventory.",
        "label": "Valuation reserves",
        "negatedLabel": "Valuation reserves"
       }
      }
     },
     "localname": "InventoryValuationReserves",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWorkInProcess": {
     "auth_ref": [
      "r43"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Work in process"
       }
      }
     },
     "localname": "InventoryWorkInProcess",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InvestmentIncomeInterest": {
     "auth_ref": [
      "r62",
      "r130"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.",
        "label": "Interest income"
       }
      }
     },
     "localname": "InvestmentIncomeInterest",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LandAndLandImprovements": {
     "auth_ref": [
      "r12",
      "r18"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated deprecation and depletion of real estate held for productive use and additions or improvements to real estate held for productive use, examples include, but are not limited to, walkways, driveways, fences, and parking lots. Excludes land held for sale.",
        "label": "Land and improvements"
       }
      }
     },
     "localname": "LandAndLandImprovements",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LandImprovementsMember": {
     "auth_ref": [
      "r10"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additions or improvements to real estate held.",
        "label": "Land Improvements {1}",
        "terseLabel": "Land Improvements"
       }
      }
     },
     "localname": "LandImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r37",
      "r82",
      "r151",
      "r172",
      "r195",
      "r196",
      "r197",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r269",
      "r271",
      "r272",
      "r279",
      "r287",
      "r288"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "Total Liabilities",
        "totalLabel": "Total Liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r28",
      "r82",
      "r172",
      "r279",
      "r289",
      "r302",
      "r311"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Total Liabilities and Shareholders' Equity",
        "totalLabel": "Total Liabilities and Shareholders' Equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Shareholders' Equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r39",
      "r82",
      "r172",
      "r195",
      "r196",
      "r197",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r269",
      "r271",
      "r272",
      "r279",
      "r287",
      "r288",
      "r289"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Total Current Liabilities",
        "totalLabel": "Total Current Liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilityForUncertainTaxPositionsCurrent": {
     "auth_ref": [
      "r38"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount recognized for uncertainty in income taxes classified as current.",
        "label": "Liability for Uncertain Tax Positions"
       }
      }
     },
     "localname": "LiabilityForUncertainTaxPositionsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MachineryAndEquipmentGross": {
     "auth_ref": [
      "r11",
      "r184"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Machinery and equipment"
       }
      }
     },
     "localname": "MachineryAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.",
        "label": "Machinery and Equipment"
       }
      }
     },
     "localname": "MachineryAndEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Net Cash Used in Financing Activities",
        "totalLabel": "Net Cash Used in Financing Activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Flows from Financing Activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Net Cash Provided by Investing Activities",
        "totalLabel": "Net Cash Provided by Investing Activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Flows from Investing Activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r70",
      "r72",
      "r75"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Net Cash (Used in) Provided by Operating Activities",
        "totalLabel": "Net Cash (Used in) Provided by Operating Activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Flows from Operating Activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r2",
      "r50",
      "r51",
      "r55",
      "r57",
      "r75",
      "r82",
      "r98",
      "r100",
      "r101",
      "r102",
      "r103",
      "r105",
      "r106",
      "r108",
      "r137",
      "r149",
      "r153",
      "r156",
      "r159",
      "r172",
      "r195",
      "r196",
      "r197",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r274",
      "r279",
      "r303",
      "r313"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net Income",
        "totalLabel": "Net Income"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows",
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome",
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Recent Accounting Pronouncements"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r137",
      "r149",
      "r153",
      "r156",
      "r159"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating Profit (Loss)",
        "totalLabel": "Operating Profit (Loss)"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasesRentExpenseNet": {
     "auth_ref": [
      "r286"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rental expense for the reporting period incurred under operating leases, including minimum and any contingent rent expense, net of related sublease income.",
        "label": "Rent Expense"
       }
      }
     },
     "localname": "OperatingLeasesRentExpenseNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureCommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r13",
      "r14",
      "r15",
      "r38"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "All other items"
       }
      }
     },
     "localname": "OtherAccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssets": {
     "auth_ref": [
      "r20",
      "r300",
      "r308"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of assets classified as other.",
        "label": "Other assets"
       }
      }
     },
     "localname": "OtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsCurrent": {
     "auth_ref": [
      "r47",
      "r289"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current assets classified as other.",
        "label": "Other Current Assets"
       }
      }
     },
     "localname": "OtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember": {
     "auth_ref": [
      "r184"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "All other long term capitalized assets related to property plant and equipment not otherwise previously categorized.",
        "label": "Other Capitalized Property Plant and Equipment"
       }
      }
     },
     "localname": "OtherCapitalizedPropertyPlantAndEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherEmployeeRelatedLiabilitiesCurrent": {
     "auth_ref": [
      "r38"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligations incurred for employer-related costs classified as other, payable within one year or the normal operating cycle, if longer.",
        "label": "Profit sharing plan contribution"
       }
      }
     },
     "localname": "OtherEmployeeRelatedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncome": {
     "auth_ref": [
      "r58"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income related to nonoperating activities, classified as other.",
        "label": "Other nonoperating income",
        "verboseLabel": "Other nonoperating income"
       }
      }
     },
     "localname": "OtherNonoperatingIncome",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r63"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.",
        "label": "Other Income {1}",
        "terseLabel": "Other Income"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails",
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfDividendsCommonStock": {
     "auth_ref": [
      "r69"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.",
        "label": "Cash Dividends Paid",
        "negatedLabel": "Cash Dividends Paid"
       }
      }
     },
     "localname": "PaymentsOfDividendsCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireHeldToMaturitySecurities": {
     "auth_ref": [
      "r67",
      "r171"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow through purchase of long-term held-to-maturity securities.",
        "label": "Purchases of Certificates of Deposit",
        "negatedLabel": "Purchases of Certificates of Deposit"
       }
      }
     },
     "localname": "PaymentsToAcquireHeldToMaturitySecurities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireProductiveAssets": {
     "auth_ref": [
      "r68",
      "r265",
      "r266",
      "r267"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for purchases of and capital improvements on property, plant and equipment (capital expenditures), software, and other intangible assets.",
        "label": "Capital Expenditures",
        "negatedLabel": "Capital Expenditures"
       }
      }
     },
     "localname": "PaymentsToAcquireProductiveAssets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r68"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Capital expenditures"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PolicyTextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Policies"
       }
      }
     },
     "localname": "PolicyTextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PreferredStockMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Preferred shares may provide a preferential dividend to the dividend on common stock and may take precedence over common stock in the event of a liquidation. Preferred shares typically represent an ownership interest in the company.",
        "label": "Preferred Stock"
       }
      }
     },
     "localname": "PreferredStockMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r21",
      "r207"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.",
        "label": "Preferred Stock, Par or Stated Value Per Share"
       }
      }
     },
     "localname": "PreferredStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r21"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.",
        "label": "Preferred Stock, Shares Authorized"
       }
      }
     },
     "localname": "PreferredStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "auth_ref": [
      "r21"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.",
        "label": "Preferred Stock, Shares Outstanding"
       }
      }
     },
     "localname": "PreferredStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockValue": {
     "auth_ref": [
      "r21",
      "r289"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Preferred Stock, No Par Value, 500,000 Shares Authorized: None Outstanding"
       }
      }
     },
     "localname": "PreferredStockValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidTaxes": {
     "auth_ref": [
      "r6",
      "r8",
      "r179",
      "r180"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer.",
        "label": "Prepaid Income Taxes"
       }
      }
     },
     "localname": "PrepaidTaxes",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIncomeTaxRefunds": {
     "auth_ref": [
      "r72",
      "r78"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash received during the period as refunds for the overpayment of taxes.",
        "label": "Refunds Received for Income Taxes",
        "negatedLabel": "Refunds Received for Income Taxes"
       }
      }
     },
     "localname": "ProceedsFromIncomeTaxRefunds",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities": {
     "auth_ref": [
      "r65",
      "r171"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow associated with the maturity, prepayments and calls (requests for early payments) of debt securities designated as held-to-maturity.",
        "label": "Proceeds from Certificates of Deposit"
       }
      }
     },
     "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "auth_ref": [
      "r66"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Proceeds from the Sale of Equipment"
       }
      }
     },
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r35",
      "r186"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.",
        "label": "Long-Lived Tangible Asset [Axis]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r18",
      "r19",
      "r186",
      "r289",
      "r305",
      "r312"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Property, Plant and Equipment, net",
        "verboseLabel": "Property, plant and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentOther": {
     "auth_ref": [
      "r186"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation, depletion and amortization of other physical assets used in the normal conduct of business to produce goods and services and not intended for resale.",
        "label": "Capitalized software and other"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentOther",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentOtherNet": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after depreciation of long-lived, physical assets used to produce goods and services and not intended for resale, classified as other.",
        "label": "Property, Plant and Equipment, Other, Net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentOtherNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "auth_ref": [
      "r34",
      "r186",
      "r328",
      "r329"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Property, Plant and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "auth_ref": [
      "r18",
      "r186"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Property, Plant and Equipment {1}",
        "terseLabel": "Property, Plant and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r18",
      "r184"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Long-Lived Tangible Asset"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Property, Plant and Equipment, Useful Life"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r25",
      "r210",
      "r229",
      "r289",
      "r310",
      "r324",
      "r325"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r0",
      "r95",
      "r96",
      "r97",
      "r99",
      "r104",
      "r106",
      "r173",
      "r226",
      "r227",
      "r228",
      "r251",
      "r252",
      "r273",
      "r321",
      "r323"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings {1}",
        "terseLabel": "Retained Earnings"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r128",
      "r129",
      "r148",
      "r154",
      "r155",
      "r161",
      "r162",
      "r165",
      "r213",
      "r214",
      "r299"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for recognizing revenue from a transaction on a gross or net basis.",
        "label": "Revenue Recognition"
       }
      }
     },
     "localname": "RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Revenues": {
     "auth_ref": [
      "r56",
      "r82",
      "r128",
      "r129",
      "r148",
      "r154",
      "r155",
      "r161",
      "r162",
      "r165",
      "r172",
      "r195",
      "r196",
      "r197",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r279",
      "r304"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).",
        "label": "Net Sales"
       }
      }
     },
     "localname": "Revenues",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of accrued liabilities.",
        "label": "Other Accrued Expenses {2}",
        "terseLabel": "Other Accrued Expenses"
       }
      }
     },
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "auth_ref": [
      "r250"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Provision for Income Tax Expense"
       }
      }
     },
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "auth_ref": [
      "r243"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Deferred Tax Assets and Liabilities"
       }
      }
     },
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "auth_ref": [
      "r237"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Effective Income Tax Rate Reconciliation"
       }
      }
     },
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r16",
      "r30",
      "r31",
      "r32"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.",
        "label": "Inventory"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "auth_ref": [
      "r137",
      "r140",
      "r152",
      "r181"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Segment Reporting Information"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfSubsequentEventsTextBlock": {
     "auth_ref": [
      "r290"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of 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, losses resulting from fire or flood, losses on receivables, significant realized and unrealized gains and losses that result from changes in quoted market prices of securities, declines in market prices of inventory, changes in authorized or issued debt (SEC), significant foreign exchange rate changes, substantial loans to insiders or affiliates, significant long-term investments, and substantial dividends not in the ordinary course of business.",
        "label": "9 - Subsequent Events"
       }
      }
     },
     "localname": "ScheduleOfSubsequentEventsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure9SubsequentEvents"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentDomain": {
     "auth_ref": [
      "r125",
      "r128",
      "r129",
      "r130",
      "r131",
      "r132",
      "r133",
      "r134",
      "r135",
      "r136",
      "r137",
      "r138",
      "r139",
      "r148",
      "r149",
      "r150",
      "r151",
      "r153",
      "r154",
      "r155",
      "r156",
      "r157",
      "r159",
      "r165",
      "r189",
      "r190",
      "r315"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.",
        "label": "Segments"
       }
      }
     },
     "localname": "SegmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r125",
      "r126",
      "r127",
      "r137",
      "r141",
      "r153",
      "r157",
      "r158",
      "r159",
      "r160",
      "r161",
      "r164",
      "r165",
      "r166"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "6 - Segment Information"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingPolicyPolicyTextBlock": {
     "auth_ref": [
      "r142",
      "r143",
      "r144",
      "r145",
      "r146",
      "r147",
      "r162"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for segment reporting.",
        "label": "Segment Information"
       }
      }
     },
     "localname": "SegmentReportingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r61"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.",
        "label": "Selling and Administrative Expenses"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SoftwareAndSoftwareDevelopmentCostsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Purchased software applications and internally developed software for sale, licensing or long-term internal use.",
        "label": "Software and Software Development Costs"
       }
      }
     },
     "localname": "SoftwareAndSoftwareDevelopmentCostsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "auth_ref": [
      "r1",
      "r125",
      "r128",
      "r129",
      "r130",
      "r131",
      "r132",
      "r133",
      "r134",
      "r135",
      "r136",
      "r137",
      "r138",
      "r139",
      "r148",
      "r149",
      "r150",
      "r151",
      "r153",
      "r154",
      "r155",
      "r156",
      "r157",
      "r159",
      "r165",
      "r181",
      "r188",
      "r189",
      "r190",
      "r315"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business segments.",
        "label": "Segments [Axis]"
       }
      }
     },
     "localname": "StatementBusinessSegmentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r0",
      "r41",
      "r53",
      "r54",
      "r55",
      "r95",
      "r96",
      "r97",
      "r99",
      "r104",
      "r106",
      "r113",
      "r173",
      "r209",
      "r210",
      "r226",
      "r227",
      "r228",
      "r251",
      "r252",
      "r273",
      "r280",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r321",
      "r322",
      "r323",
      "r361"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows",
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables",
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails",
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails",
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails",
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows",
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Statements of Cash Flows"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r95",
      "r96",
      "r97",
      "r113",
      "r299"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables",
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails",
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails",
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails",
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfCashFlows",
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r22",
      "r26",
      "r27",
      "r82",
      "r170",
      "r172",
      "r279",
      "r289"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Total Shareholders' Equity",
        "periodEndLabel": "Ending Balance",
        "periodStartLabel": "Beginning Balance",
        "totalLabel": "Total Shareholders' Equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets",
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shareholders' Equity"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": {
     "auth_ref": [
      "r49"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.",
        "label": "2 - Balance Sheet Details"
       }
      }
     },
     "localname": "SupplementalBalanceSheetDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure2BalanceSheetDetails"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_TableTextBlockSupplementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tables/Schedules"
       }
      }
     },
     "localname": "TableTextBlockSupplementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_TextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Details"
       }
      }
     },
     "localname": "TextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_TreasuryStockMember": {
     "auth_ref": [
      "r40",
      "r211"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shares of an entity that have been repurchased by the entity. This stock has no voting rights and receives no dividends. Note that treasury stock may be recorded at its total cost or separately as par (or stated) value and additional paid in capital. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.",
        "label": "Treasury Stock"
       }
      }
     },
     "localname": "TreasuryStockMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockShares": {
     "auth_ref": [
      "r40",
      "r211"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.",
        "label": "Treasury Stock Shares",
        "periodEndLabel": "Treasury Stock Shares",
        "periodStartLabel": "Treasury Stock Shares"
       }
      }
     },
     "localname": "TreasuryStockShares",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockValue": {
     "auth_ref": [
      "r40",
      "r211",
      "r212"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.",
        "label": "Treasury Stock, 171,964 Shares at cost",
        "negatedLabel": "Treasury Stock, 171,964 Shares at cost"
       }
      }
     },
     "localname": "TreasuryStockValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense": {
     "auth_ref": [
      "r239"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.",
        "label": "Unrecognized Tax Benefits {1}",
        "terseLabel": "Unrecognized Tax Benefits"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock": {
     "auth_ref": [
      "r64"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for an event or transaction that is unusual in nature or infrequent in occurrence, or both.",
        "label": "8 - COVID-19"
       }
      }
     },
     "localname": "UnusualOrInfrequentItemsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_Disclosure8Covid19"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_UseOfEstimates": {
     "auth_ref": [
      "r114",
      "r115",
      "r117",
      "r118",
      "r121",
      "r122",
      "r123"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.",
        "label": "Use of Estimates"
       }
      }
     },
     "localname": "UseOfEstimates",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesBalance": {
     "auth_ref": [
      "r87",
      "r92"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of valuation and qualifying accounts and reserves.",
        "label": "Balance at beginning of year",
        "periodEndLabel": "Balance at end of year",
        "periodStartLabel": "Balance at beginning of year"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesBalance",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense": {
     "auth_ref": [
      "r90"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense.",
        "label": "Charges to statement of income"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesChargedToCostAndExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesDeductions": {
     "auth_ref": [
      "r91"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in valuation and qualifying accounts and reserves.",
        "label": "Write-offs"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesDeductions",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesDomain": {
     "auth_ref": [
      "r87",
      "r88",
      "r89",
      "r91",
      "r92"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Valuation and qualifying accounts and reserves.",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesTypeAxis": {
     "auth_ref": [
      "r87",
      "r88",
      "r89",
      "r91",
      "r92"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by valuation and qualifying accounts and reserves.",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r107",
      "r109"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Weighted Average Common Shares Outstanding"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.chicagorivet.com/20211231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 4
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "http://asc.fasb.org/extlink&oid=124434974&loc=SL124442142-165695"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6812-107765"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1448-109256"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6812-107765"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=124437754&loc=d3e543-108305"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6812-107765"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=6374474&loc=d3e8352-108598"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8657-108599"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8721-108599"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8721-108599"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6911-107765"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(j)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8813-108599"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8813-108599"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6935-107765"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8813-108599"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "26",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8844-108599"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e7018-107765"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8924-108599"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "34",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8981-108599"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9031-108599"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9054-108599"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "http://asc.fasb.org/topic&trid=2134510"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=124260329&loc=d3e26853-111562"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 5.BB)",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "http://asc.fasb.org/topic&trid=2126998"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=123349782&loc=d3e5879-108316"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=6387103&loc=d3e6435-108320"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=123351718&loc=d3e2443-110228"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "http://asc.fasb.org/topic&trid=2144648"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "http://asc.fasb.org/topic&trid=2127136"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(17))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21463-112644"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130543-203045"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130545-203045"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130549-203045"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "610",
   "URI": "http://asc.fasb.org/topic&trid=49130413"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "710",
   "URI": "http://asc.fasb.org/topic&trid=2127225"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "712",
   "URI": "http://asc.fasb.org/topic&trid=2197446"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "715",
   "URI": "http://asc.fasb.org/topic&trid=2235017"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(g)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "720",
   "URI": "http://asc.fasb.org/extlink&oid=6419918&loc=d3e35281-107843"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e32247-109318"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e32280-109318"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e31958-109318"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32840-109319"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32847-109319"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32621-109319"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32632-109319"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.3)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "http://asc.fasb.org/topic&trid=2144680"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "50",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123385561&loc=d3e9135-128495"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "50",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123362884&loc=d3e9212-128498"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "50",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123362884&loc=d3e9215-128498"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=d3e5614-111684"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "60",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=7493716&loc=d3e21868-110260"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13279-108611"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=123406913&loc=d3e41499-112717"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "http://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "http://asc.fasb.org/extlink&oid=123353855&loc=SL119991595-234733"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "330",
   "Topic": "912",
   "URI": "http://asc.fasb.org/extlink&oid=6471895&loc=d3e55923-109411"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "405",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6957935&loc=d3e64057-112817"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=123345438&loc=d3e61044-112788"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(10))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117819544-158441"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "http://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Subparagraph": "(d)",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99779-112916"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99893-112916"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.1)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "http://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.13(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "http://asc.fasb.org/extlink&oid=123360121&loc=d3e27327-108691"
  },
  "r341": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r342": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r343": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r344": {
   "Name": "Form 10-K",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "310"
  },
  "r345": {
   "Name": "Form 20-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220",
   "Subsection": "f"
  },
  "r346": {
   "Name": "Form 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "240",
   "Subsection": "f"
  },
  "r347": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r348": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r349": {
   "Footnote": "2",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.14)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r350": {
   "Footnote": "4",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "29"
  },
  "r351": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column B",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r352": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column C",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r353": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column D",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r354": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column E",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r355": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column F",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r356": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column G",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r357": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column H",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r358": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column I",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r359": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "09"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r360": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a)(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.8)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.9)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "210",
   "URI": "http://asc.fasb.org/topic&trid=2122208"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669625-108580"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL116659661-227067"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(1))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(7)(d))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)(4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7(b))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "220",
   "URI": "http://asc.fasb.org/subtopic&trid=114868817"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3179-108585"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3179-108585"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3521-108585"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3044-108585"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4273-108586"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4297-108586"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4304-108586"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6787-107765"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column B))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C(1)))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C(2)))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6801-107765"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C)(1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column D))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column E))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "http://asc.fasb.org/topic&trid=2122369"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>68
<FILENAME>0001193125-22-080508-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001193125-22-080508-xbrl.zip
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
M>"]_AX]U0A?]?NF7SHH:HMDO!J,,M873RG0+.?Y@*N#60WQ\X=#'2B/(V1W
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
MI3^0I.4GK=<'.@&U)(),MRT#CL2PQL(Q)&I9HHD[_<$9$667U-(L7-+;ETF
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
M>QV)8/?"[&JM(.D(:HQT;^7'UQZ.WC6U[R_H!RM?S[<%N^\V*;LB$1:*5W2
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
MMRTO5&/F".QZF::59\QX]":H0B]\8]G^W58->2LWO;L2\1H9"X:55"\;DY'
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
MV!>^8:IZ0-XT-:6!W3(R%JCB@2HF[%W$TJNG12T,7T%ERKVN=U%-&];?24V
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
M"P.HA'+T&W1@U5L"PN6H @USR'8>ZT?1.9K@U=Z:>>>O!JESXB"'3S*,6H@
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
MM^:'=_9*-%G?]/9[!>R_]L/':S?Z9IR!IAZ$*\.@L6D8?"H !O4?/G[UL7V
M]P!Z*"C*PR&INZCKKPJ0]H8!4BL 'HT?/H+-,&8A6@%E!T"]   T?_CXF=V!
M\0)@&##*GR@-')Z/7S0*@$CKAX]?L,+RQAZR>&J<N-' "[!/1^%P6?'RO;KR
MM_@IG -EU52:&22806#\&HW,VD!FW,.*4:VDODA%1$15 /:@C*<F7.&1[X0\
M?=RS8GS!V$H8J>"0O8)%_\)MYT9\,S!!1Q1/P#:N)N'@WHZX+Y&#07-9K<B,
MNAM&BU8!G+GSP\<;&30]4R$OS*];E3-O&AKM J#110*2<<2#B 35A'LM$8EZ
MONU-(Y>0)P'6<> []-;G(59O:6'^#'1?T=+6=[$V%*H90*#=7K-HXL6TV<LQ
MXT7B2Y!(>H\;QXHBK!RK^L/'_V!8W\40Z@,C\, 'GOQ;4VB,7C^8Q(;@PV@<
MK4A(5FW#(.L4 3$PC!,*4<$#'A2XF8S''OUMA]-U>(VUFNV<*[E4.-"ZA_/B
MUP)K^)C"'9A40%L%Q+#O0B8V3[&.'@_TV_@!\)6>BONO+'&SG(DO%<&S^\%-
M:')!X?D2?*#;2DZLUMJ:/=,MA". T7_,TT4X3I.IYZQAT6P3,D5X0RPP_R\I
M(>/<YZ'>I23CRV"RM_+V/Q=:>:4U\ZQJ$?37_.'CB1LR\L>:<]TQ0LZN9,=<
M9OR,V6[(WY=@Z6DBW;2KSBK$@=_ZX6,"(\Q!8'ZT%L]:#1Q%Z"16+4LI:?\@
MFV!,C<M''S#@WAVC4G_,PM@&/>43\QF@!LIW_CUB2/F4D;9NFPD#9:'[8E7U
M9..XG.5W7L;%8X'!+@^.]H]&&1QHE(((M8SDR5/  PITY3RE9/ M&+.KYVHQ
M9U"@(SALC*G9N\!_BO",6UV,ELA>1HEM8)PQD4(EYL2OK%?N/>7[GWGI4+\6
ME'96A!#,<IZ_T"-6JZ*2<._V7>'!R'!M&#>#>S  O64(->4BJW6V#[.7>Y;G
M888>(+#_#&QO;MQ,1G#U]$6@63MG\X6YN[79U[^FS,^U$D5?TI#S0__C5>_Z
M%M.$GF]QOWBM.(\!!U#\0#DX<DC#,EK JJL]OSW]8EA&Q4@2?5ZR\)55E0R]
MFHCCF4[&QAM,JO[7GY,@?B]2J_D?;ZE<(I4[S>N:\'K/?E39X**![-"07271
MJ:G:O5O=6IMZ,T63 6@G$;8H">B^OH 3V1@9B[S!?L>V!^8(+I-#YE:K\ @H
MV,!]J/%C8(B!+6I=0S%($2L#)U$<3H_41YP[VV+4GL'DK#W]->IV\5Q,1H_<
M*'D^\(,)-N*:A-S1']F\OUZ(>P!U&NC8J:!K"^L"4R\>@[",>(^7:! "<QF)
M\QB'@3,9Q)&^COE5SJ]H'+IP_"Y<E+$V^ @;-Z.';< 7!P^(*5M>O!?7HJ[(
M>)]:,_T6!^C,5*T]Y#,.TXU#MXCQM]211.K*HR32K94/J%"W!#E5*L#W%T&(
MSG?15(W#A8;.*312_2/@O'F! 3*#@2NJ"QCOKRNT<OC 5;9+3#A")08ABS"N
M@0^.#LL!,D4_KFQ\&&=1&VX8.X\#=@&,_N*;%MUG"*,G?2ROB5V;5]2QF-2#
MPZ1:#<C^#DA%EMLY?.X.X_"?A?+M;"$//3 ((]'X%/A(  =&[3I"O@!1J*[1
M0"BI3;$(G""%/>I%50O=;N)G<"UOLLZ7AP4J%([1MZ77?(II0'*YB8VF]OZ
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
MZ.,!8^K$).3.9&$>2[6!1D.2 .+$(I)A4-/FCG\ !I %03*DIM(:4BI7@S\
M73Z:@=8F&%JQK$S&(E2\D\N=)(2\49:&'&%AY!5E,<!]@E(_[<ZL<W<FJ>%/
MQ>Q6CKZ:3P<6J4AG[=!H_9]F$G^T5HT_9H<=*9H>\ @*I0=HIMV8=Q*5D-+@
M3!Q0@_.FD'I;GN7&CGF6-Z'34"Y5XH7ECDE-?0>!@<W=>7A@VZ8'\@E]01Q;
M7<6C9Q1EKLL_\DV"\/I&ZG&0\A5RX9I":KY]5;Q#HB(A$VQE#%(VTX$FM%#C
M5%_C#(2E2XD@G3)79D$_2.K5/9SQK.2L*5T_I$L JXBYJI]86F_(CS0 &1IR
M#XX:X2#\*6]-_?$QK&DX%-Z-E#ED"%-/!)C0\3R8)O-ZJ4QQZ*&E8HN*)F[!
MO0J57PI_Y8Q*Y1=PG86RVK!\$[V+,G&-^*Q2IC@L-->2<+]/-BQE?[O'&76I
M ,(( P_D@O*$OOK 5(8#RBY]QW! P>+X#3E9,>($AT=I="F\X*A*_A30$QU
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
M;DZ'C85;P/%!]SV^=]EPGM>O,GNHU(>!!J7-/.-_#H&13L*[G$ZBF==)J!Z
M\B@NE>=UC:-8;=SWDH8M<I[;D+?9"POEM!G2^:43NRI\#U]"C1K)-"&S1-*!
M%*$9LC8MX7F[B6R:P4;B PP<3*D9GQ2FO[#D?;82TK//Y?=:W7:M6&%6!(B-
M!,9$8\E^G\=N(X5=V5#A$*VVM.9'<HB2#4\6R<O<KI<ER8FN%@98]\^?]$<
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
M+9#4 U+G"N(\('9DTC O/Q89W]H4SH6U>[Q+AL@OIKXLE(M"#"S"+F64K3X
M&SXUYB==]JMG)5,"N?"!:;X"-1I7[1XYJ-I,4G?UP-"?Y<T,;):2.95Q24#E
M+4H>1#$"U[]DMCE/F;&Z)54G.7:2@U2D#? 805:2OIQA^42 D70U.C.!:+S*
M0+6>"QX1N&:J^.")NDR36Q$B25I^+'#+U%,(E)JG:E%0,U7E+)1)H!6Z1+S>
MDAQS;BJDDG@6-7\<]F"0B,Q[&FMR%;OZNI1D)CQ)MLB>$>Y@4KSF!Z;J(*#>
M"6K7J7I-8>LA-G.JH+PV22R8^X9>Y@'F<5#Z&VK9/!:%G6#(3Z,D/1(4>2QG
MO,']2<S'^A+IF@:>^MW4G"T 2B8<NSZ ,JN3@%;O@R,4Y;QX2E"*HJ1J/O$1
M"^T^(=X(\]'$@'B^-'G,\I0EQ3JS1@+M 2N/E2'CDB?!I=X@0I>!;Q Z<%X.
MPYX%.) TTHM"8I3!*2Z6Q@0U(]5&V@%&9,L4EKD&(8IU@N#R/&E71.8<#LUL
M,<"AF .M7$,A54G9"![V/8 SOI]F:J>(AC;VZX;M\M'CXH0QMQKT3_O!O1..
M@.3P--ZM]9DP^B$6K],P!9'XD^H9 H2*!*<\OX!0*#&YSX&R*;BA-$_HO\E>
M<\BX,(E(!94F,NV33Y;0P]!9::LB,^R!_#&46BI=1(/$FV5G9X,(/DPEYSZV
M0A>.58G%25.2!Y::T<&X"YQH0*%3D"9",7V71MHJ;CK3 !UAA?%?@\*C+H^W
M!+Z(_'"YJX;3/HH6I7@2;#2&8W;_<L7@9]UE]2>8MJYH*J)>+*=Y4STYU2)H
M>Y-=#/B;J ='27&?W*E2 ]"4!(Z9(!@4!E![&([W?-,3W_USPKRDQ<(LK@OA
M(2>+4,]6-7T%M2T<:A#S5C0113UXDUAQY*)[BH/-3GAO#]E#!6LH Y7+P+L>
MQ2'I,-B5!B>JI*=WJ^' A,4BDT(3 .*$3:V!C3A?#4.1[=VA% .REPX8-^2-
M6=S^1*B#"5N5/AI8L^TE(]F3,KFD#I4PQ$D>.,2@&D<NSG! H1L+1R-H (RT
M-;SV+@"2T=>(!$2]6JB]43!& 0@'Q7O(H(;WC1^DGEZ8W@O7U5'?A5LWXD-9
MT#_-JFZB@5IO;K[+?W"\@1OS^@5$A?\0=O"_M8$O1H^F<GSAM@(VJ-K&@-,M
M=?Q3LS%(,2E?Q[]V;]MI@;6=<L'D1++6!DBV8U2T-H,W:>_B#=KI]#<:71OI
M^/E$K^Q5]W=\>7%S^?G\I'=[>F*<G5_T+H[/>Y_1"PP;/[VXO<EW,]T77\T9
M#O*(<V!*F'*"@O]:=4@VKK!#V "XB_*PGKE@7;ZY.NY=?C+.3XZ,#^[W(S_P
M+R841*5Y/S\=.,P]ZDU QPQ"O/[<.2#9!("^9L.?#GZO60<& [8SAFOC<,*
MWMKU#^]2C_KXMMAN_2'16L6J\_KAU0!W#/P0CY\TD%0V153,2:5>J!$-'1V6
M46W\M?J,(ZF@\5[B&U_*,6;BG(&%5Q#P,6Q >EQJ#5E,;,M"J_YZA%8C.WMI
M38Y59'+IVM)&Q11T4E+)'MD-V(_OP9JZ"T!??0"M]5_V:/P>5%B>P7X<K&:E
MSJPB>T)V<7EH8C*F:.&?34U%G5HF )0K#R672.;$V"*IXB())"'_5&;9,F=C
MO,$'\MZ_,MQ*?[P5'0WGTXV3FE>>TR-B(/HRHA0GY"6U9LI 5-:S&$3!\TQ%
M[F*ZOP<Y$WU#].^7F"C?ZQ,;? /,P9/EM]@6CH6RQQ[W18KNQQG!5;%=#/N0
M&2N&HYJ+,Y]D+\BA[8:8:"#<0*K.05@CT>PC9./VN4E#SP(ZV;3J>(V^>JV$
M0S8'7@J&!>:KO8C85Z?73\J)*2AWP]0I'."9>0FB_0AB WJ5DK[%VMD?Z'E]
MA\8EU;^FKG<CT189QY%3SEB:166-SM56H9)Q>,-/X"'1H2$<3S;OM3O0#W^(
MFG0RC80C![Y'B#")LYHHN\2VJQ0BX-+A30HWWAIO.(61=JYXBTC)T*WQ/O6F
M5N)SWK!/3?G -8<.,3NUQJ^'-X?&D#E4B!BIV3%)&V9BGFK8K1%.9)M/K3^S
M/*%D]@Q=H9P:QTG7#/E(VMK2";L%#6C_C7R>&'.226%TVHM@I9)8Y'[%)FXI
M6)M\*S/FR+'X2&Y%4?$N*LH(IO@J"I'WR26OI7=A\E1(K^8#9Q_O67S/PL7<
M%=%BB-V!>?H<9ZD(<7F)J9XA8E3 Z[&-6@BWP4)X$9LVXF76ZX/BE$\P?>33
M=( MW@$)RM@E[HIJ:/BN!*^E:FR?QW!XTVRLF=:#X<([=6CT> Q2.F?%.0@'
ME[X2 2UX57IPJNS4L<SK*""(6Y3L?CP)QR+>+K@&+\2;91RJY04&3>;9TBK[
M)?2"7U$8/C+%K/R QW'%BS<G&C*?<*F3A*B,$:<MDK0&S"$?+&D-$>Z ^#>U
MJ%^$C$^E;3V#J*9.1K-+X,FJ* E$ (U&O>-2#HV;"1^_+B]6VV'?;=X PZ3T
M2R/&=BT4YS,-]B#\_SC,*'1D2K;,WJ8&4NF4]H79:(8&2@H.) O@.='JX9E*
MQ83/!P(M$<Z'2G2P8%QE7%*Q=VKP42JP//,*V5-#Z&2VKE]E+_XWE?;-H:R1
M:!(BU6<P*15#TPZ+K(51"<WDK)*CTC:LV"19U;0(F<=L4S6^_-TEUJ)2KU3M
M"V] J=CG0E8O9$I(7;%'$U_$Y&A60THO2'TM= '^>.IA!>L1#5KA@4<&1ABX
M>2"*]D2!0IC"<)62K>A:/'AAENF;VEN,3 ?>@Y"PI)SPY%$M7JGGBIN9R>*$
MA+)?#>/+YJ$*.8I[D G^PK!NQ<O?/>=?Q3G6SWI7C\, A,7GSU>S/M9W1:U;
MVM)BB*@P#1.99_/5J^: 5J,X.G\&@I\#7IWP+!0O[6_&IS (ONG^D30\EU[4
M%^I-(QOF;-EMV'@];L/B+U\$V=2-__U?'W@.8CIZA*X3>QRQ(_G+P4>\,J2?
MZ-CQ,#;TTT'CP'B@,\([,>!TH!XT!^WCT]/VV9E D&8#EOA^C/D]_AW/]*]I
M'_"8!^]/]IS;.PM3CG\Y/^[]?&E<G_]Z>BL]7#WX].+4.+X4%/PN=N H85/&
MBGO;S!:>B]QD+W^]XZAWVGGM)8V7N,B7+*Q=*^>ZNN5<5I'@6AK7MHU2*X'B
M?3I>7L4@ZUS$?!WZG?/=KK3Z;>%7.6%7+37'R]I!CPJIRT;4SXU;WW/%/5?<
M&"[M$*,K%C,VJ9L="W],.?G3GAOM,#>2H^@QVHRN,?KE-.E*5 (^1?<=?/PQ
M8_:Y@"3WDIR%-B]TXSZ8252YL^WQ$>ZHYSOXC[:O7GQLAR'F7?QJ>Y,9']<I
M>F<P,9[^^GIS<H!5FN[(]J*?#LXOS@YX4O-/!]4#@R<;_W3@?H^/_,G("6)Q
MZ<''FEFMM[ IE?3CR!5^S-C#5MAO!IA+(YZ>./8"#KR:SX$W6VVS7;=6.O!2
MBAS)%V::KYWPYFMEXZD9>/,,CFC[NAR*76V&)[0;%C;DRX\G;$J@OI19O"YL
MR(5A-(!9U%?&ANWI"PNZQ_1D9.Z:#1@P7'1-5XS/E.>$I;&\3P]VAWSZ''KR
MXK,@/ DF_7@X\>2SDT<+;;@0\BQP?;D@3-G7A]/"LM!YF0_*HG$\ ^,Y>%ZP
MN$B4;)JM1MOL=O9:9"G.-!<R:9I6JXXSI%^-HG@NVBS3H J?[;Z&*#<T!50H
MA*X[9M/JFNW.7A/<D5//B_*;=;/678V;E\!#=(5M=5U'U ,:M_9W5B+GT-.G
M*M9.:RZ$EAN-'*FX9,1:ZM/+A29Q3O**!UAF4<Q'2&XQ9I![A'DI-*%M\]T6
MJ8[7&RVS5F_MA?;KPHU<&$F]4S?;[=JNB78^26LMAK%UX5 \P8.27NO6S/J*
M*MNK%?&2@N-@O"GR+9YRK8Y9[;1-J]/>?37@*L1R8JS%OJ(1CE3TF(R?V[1Q
MOAV.+X% (.CYC@) 4>:\53,;[;K9:>7()O:J0;D0)1]64S>M9M7LK.C0W:>L
MO4BXE896M@">4DHIKG1NWSJMC[\;3C#!D.6+N$PZ3V49?:88\]0RVRVP4)N=
MO1AZ9?B1CXEJF;4Z*+OM@G*4]M)G+WUV0/KL3+AJSZC+@IX;J4#ZK,]OQ(ZU
M6J>U@U0#S#*2^IX3[CEA.4YWSPEWB1,F%4X:_RLO'>_9W.ZQN=E,Y2M[BGE^
M.T"FB^N>5BV,D9L7>R\R:-;JULQ6O;GW090/4_+ D7R*'UHMLU';'2]XPD)"
M'(+S&Q^9ATJZ[=EAJ236TV=\*D8E7?/.RYK,+32/O=HUZ_75DB/VDK;(8\V'
MBCLULUI=S=M<9@V!9\])(C_]/F9^M#1IES>Q66QH0[1>1]9N[4,0NX@ ^809
M:C6SVRJ(*Q1'_%]Q&BDV\KQF#PRG3%)+!#G5412&%B+GMY/\(+?6<QZH1K/G
M.W*3A;*':FUES>_5J@*[<O+Y=$AH=,U&]_5H"^G4V=6]5^65%QO2%"RSTZZ:
MG6IWKROLTMGGDPEG-FMP]D6Q@P*H_D3.(]*KX"BEUG@]HD%N$C:G(<)%X \*
MY /=6LNL[FO<=^G<<^(!5<M:^>1+J1+L#//?2].R1, *RZLM.(ZZ'0:E;:JH
MWES=%N@C];T4*N4AY]6CKVZ9W4Y!59I[@;,7.'\O@4-C%.-DN!+2+#R%^0-,
M8GR#TZV-]MOR!-'^-OS[%6?S["RA[CG?*^)\^^3L/9\KEL]]P*%6^E65H3UR
MO>G1S)BP ]P$7OLQ(P7L2DU1OXF#P3?3>+;=$K^<KKZRP\N0!D [U ;WBH6$
M]D\:8)&37#:CHVN:>25B ]3.'\',B)B_1!NH-=95S6%=%\'S[4L-6)!!*UD-
MOK2:J#>)[X/0_8LY3\&57UM$X]C5UE3-:4W-ZI+-8GD93&0D2SI: \B7DU@.
M9EX#RGDA[K-K60*Z3R.KSY: J+: '9#ZJP!XU=[M5JV3QM*_6!@X=G1_\+&R
M#TKNU"D_X2#*[92WJ7"FU '5BOU3M9DD)*0732H!&N@ 32'\GVG!SB\N1/3G
M(*?66-VR"L!RT:K#I<35TKJ MI]R* (K+"@O+:"!.D!1>L#<?LZC:%(:X&8O
M)B_ 6J:%G1ZZ\[TJ%P*6+VAEK'V99E4$9%^F7RV7L=!J 8#GPPCS'V1R[7;U
MN)J8;0+^JVME6Q?+&NB)Y2V)"R](&%B$U7_+(-V6CS2G')!UCK24#IN4%M:#
M)^ V; \T M>IN+YQ;(_=V/9V7AE/MH8[._?%OC3,*:C/>AMP9=]A<:<Q(9^R
MLS4PH00%)OSG-8MM%\M,3NW0AV?M3.6H7+A<=V\PF(PF5&YXPH;NP"VH7L0R
MZU5LN[[/S"G1T>;5CZ[:J)G=YBMHO)RB\=N0V=$DG$J_B]6VS&ZK(2TM.P9H
M1KLP)NG-TW@C][F6[W4%/#&[M1KHB/.U F_W8K^<YYX/?UCUW+>?>[NIM(!G
M&O%O)WV3T$%LGF^]F%3=#C#3KEEOY=ABIF2T_W? A7PR>CMFNXK50ZO5$)92
MA=@9Z; 7MV7)1]I$#<E&>Y&6H &WMO6>[VQ(IA71NKUD!/;:\6 G6K3OY5E)
MQ=?N@&N;PFFK;K7MIE67;O/S> "8B 'MGPYJ!VOB;:.9([QN[YEA#P;!"-8T
MA=L-/XA1G0FQM9/A N^^"T'5&=MA; 1#(X;+CP.?+"/T?!IGKF_[ Q>M>DPU
MHBJGPSW;>!&ZP$]L+0J_I)]@5>$1,XGM"QYV'ZK=D(X @OZ>T=*J8AM5>:?5
M@*=6\;^#=[-K?O*-6>WYK>;L^\?V':OT0V9_J]A#N.;(]A[M:?1^=EUUU&?F
M(-^MXG_RE1U<:6J5GNNSBMJ9E@A(J\C8S'$P"5T6XG86@&YMF*][(R(CGG?Z
MQ! "GCV.V)'\Y>!C)A]IK,M'"I[4</S+^7'OYTOC^OS7TUOC7_9H_-[XTH-/
M+TZ-X\O#I7CDXKUM9@LZITOX&S)"WM\F?^6R5NNB[ZF4C*]YV"[ITEJ'S9*N
M#("V&?5"WBO9:>NPT<2G+J$ K81SRRI52R-+[JY72;V_,SLT3GT':/>$#=BH
M#VP?3$>C5JU9*RF(6\2N%9%H&["LEIX)7K 86Y#GUG.P"#Z81VMZT9-UIBW(
M[SDYW^IFM]TPFQG.MST/+]=YYQ,T:IO-;M5L->=3BM9V<^1,U\=!1$;IST'@
M1,9-X#DK-AG<K(S*+$%Z.18@%"Z' A<*(7U$A6K7;+2R"B7V<K1,YYT/Z=?,
M5KMI-IKS_O72R_KM&#S/9!?L[:'596D1(-VNN/HY#*+(N J#H;ML6F,A"N>:
M7&EY#D4;Y?LL1!ZU0!0US6HWJ[3L58JCTA]K/A4+9M=JFF!1[I[4N6&>A\$3
MS +I.2/7=Z,XM&/W@>4](&='5-;EL4J [F?FL]#V>KZ3AI\ 7R%\I&E:U99I
MM><SZ_=2^&^!17FQK6['K%E/&4?;53S6$TUE57VW3EN[I,AN5@Q>CAG2&PA"
MKB88;SZ#RO!V6:_,9OVNS_ D(^./IWF0VCV/#>+6"Q%;EEEO=E!7VHNM32/
M_,]GBH"6P DX[(A@4<D#.3IULVK-5_V^_5O(HKVP>572A :-SB9:O%;KR7B&
MT2RO"Q/<+@(_2/.>0BVIIMG,*%#>RZ/2F5'%(E,^W6X:';/1FI=A?PL1MC>G
M]N:47*:8H?>) ;&PU$2]732H,D3>TZPG49G/PF!T'.#4C DL2^C4@1]QR/#K
M""XG\$L4NX."[*Z&U3 ;[;7##J]?SN6')QD7+;QO8VB4BWAK860]JY=G.:3;
M51@\N!&"$?:P#M,IOZK]#%(M@TX $*$"?6(^*RK06:]:"_J^OFK17A8M>2FO
MWY+XD(]FW'P&'4JJR.0LB_)1I7/"MCSW]@HT@.T ?;LB$_/+5W)3%8O):_4!
M +:Y."5YA88  (O"PQ^657^)&KYU6BN4I/(__>44\A>@12ZRL5G-2ZW^N\G&
M-3%F+_B*AFA9I)IQQ4+>W*@LT;OEJF>*\XH_[U, D'VR(W?0\YT3UYO$S,D8
MOO)[OJ-AK,/U<P*V3H?;+K7:&93)=5Y/];#Z%,KL9>:^JGVK5>U;; A1>&^<
MW6_VTMHW>TFP)]=>+^+<K&KUGZ+MB[Q#[+]UV$VZ.RCRZ*[;"P9?E":;&;;(
M*8=_N,&&,"_<]08WM[A5C-X6]%__Z-2L]ONYYJ!+;EEN$XR,I45O];#9><'V
M6RN+DA46USYLM\JZMNYAM;1KLZJ'K5I9%]<][)87<-9AN\34T"WKTDI]IK7#
M>M&+>P%_SH<-KZ[1SZ_AA=QV^24LT>-2'%WWL+4"5 IK;Z1/ %X>GB\DBCR.
M]*7\K(@S;1]V5@!+86<Z.U^HA_; XH%"&;!](5]Y60.W3+ZRHM=E99[S8K]
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
M^#"Y[,A]1LPKP=])Q(83#T02>G?0?KH3?KW01OA7\"P$21*=)4*3\VR*;$Q
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
M,D05:PSC/HT=U$OF";"8@]:9"U2W"+FB-KJDJ-OTIRG?U4DW$93*@V1^JN%
M6=?.E["6X(GPJ^8XMW#C*$1=@Y8L55Y0RP."[.LX]!*632>K*M*)"H1G/,S"
M7:&U7>"3Z1VLMA5I$#[<!-51.^XZ@ 0999#DEC*IUVLE/M55/K5;M:]\RE'H
M5*"C?\<>4'K>REH@[N\K\OK%8J"EN$Y/]AO'L4W<"?"0>-:)GTU5<,:U05B>
M.J:H'F_SD55-6^1D(KY3MR:?#Y:/SB1.9+Z;@JBI1[<XSL$2\1K8F$8[XYW!
M^(V0$P!4+<!O>$$IWL4"+X=-QZTI F_<14:W%*/#H)#C'@UZ08!F 0:?;8'$
MW8;HG^)U5_QM7^AE7R>TR^!K_"8<6#'>91_S7^3KE5.XQ59!6QSV>KIA;EXA
MN6DN.VYFC+@^;/)'P+Y.9-U5UO4LA7/%]F$MJ7HQ_$%C LIXMGI#*Q#_P':1
MC*,-1R)OX?.N"6%A;AFR@,=#O*(:)S,B[I2WQF,TM.S4E(IXM@//#U#'0V1(
M@]$RM[['B1C1KQT$R_F"&X3<ZI],R,29LL-*_#/W+ON;-N<413V>R1$-\+,@
M95QMW:*</"'3 ^BL4&FE#A^E@Z@N95:%OHW;TM.=>&L-!;*&?"7JSX-QLN'M
M:DP)*.D_<)^(!X]E6@)G!T2[;Z8+ =7%[($\$W,C?,_U,$:3Z!11I-5Q(.+:
MF)S4XEQ7W+C:/Y8N6=<]'JS[>'7W#K1#L 1L7=W]H7WQFO1MPS#U[/X3#HF&
M)CI5/U$+H/;RWEL ,,QV[]4;[7,<1:99)*DG/3?[O;+7\PO63:$N(A= ;(UR
M>F#M\L T;A2_;1A#'4P+.XY1)^NND'RC76TYC$86B2$FTZ4V&I$:7PPAPO?
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
M!WZXV"YXXIQ" /&;82Y.C"S P 6ZYG\ S3%;H_Y0_N&3IXV6@>.R(- "_LI
MLP*@1S #YQB8T48K"A,O? ]OC0R2(>F)%83,!0R)G^K:T]093P$.\X7O8 SL
M=^UOUGSQ5ONDW7O>C.)!% JS\.8*>@[V2=>+]=\&\?N\J']'1Z]FMK0QGN8\
MLA ^ /UK-_#4&/L6OPCHU?#:D/\-@T9/VMP:3^$,F7O'EHOY:+;2F"SBE*>(
M5[26($A@'V.^-CP04D!/O'=]T1".R./KP1*@()^2JR90A4"-5B. \ZA)<-2
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
M2(U\2Y\9OAQM'6'X]]<C_+K=:AOBKV_HOSEFMAW.HR?A)[_;<#"%_8S[*RS
M6!&-7RUADQZ:JL?1;F&*IPBDR(EF!XU[^^A[<Y!.(3[TIQ-.KY<!'(SY'WZ,
M9TO<&PIL^+]];_TXP(") :@J<]/7NWU3-UJJ"H%+Y9]CAL_5!IUJ4DQX1T0W
M=[ZDODBM%FT%L5S?;.G]G04,9V+$?/'<AI53R-?,B1#4IE5!8 !&2[FDQVLG
M!WI[<&+C;5U<@CKB2\U=E_IPT-6[1NXRL0O>,O%6"%/U]';'U <[*Q/.W8J_
M][ ;TF5 !3BCO")3_KC,DKGXH=G>$F-V!1)MB:Z HL'F0WU@&KHY4%5S>K24
MJ0,Z*W$.%&N-CFZ 8#+ZJFHNSAC1ZI%;B-H'O=_OZ-WN+E:MCYN0)[262_:K
MH1"5D<'+[G^NJ.>>FXG.-A!:26+ILO'S2VWE#?L_Z^A^JXKH?E?O8=RG<V(G
M[<\;Q#\4:XHFM/3TP?!\<5<M=@IBH'YG"*Y4(49X3>V54X+XYU(B5%K4,8,D
MRXCN#_3A$(5]Y6G<GQ"/BN[1&W2Z(/USSW6X(/0XA!:B+@S FJ%W6[L&U9V)
M$7]2U/\2W-])B?6^M?2,0[LE6Y_G<9?J&>-3/0X+P5/B'M,]8C]N1SNR6>.
M[K5<+4R%]#T5UR8BFWC4-8G<A;\QK_%)K'-I#!&<>VD,.7-#^M(8\OP;0W"^
M#F\-N32&_-3[._>0XQ\N-0;?A<"H5164G97/*.T6#C@.-W5N9'O0THWJ8XGE
M99.JQI^B$K!6%UM[+ET@Q>"K$.8:Z*9IZFWC&31_?/1\!KMZ#ET?I=&3@)DB
MT=W5NUU#;_>?5XM'A<A1(I>'+;W5>U[='&6CJ!AFZ74,W>Q<6C<NK1N7UHVS
M3A-<6C=^$D1?6C<NK1O/N_GAO'=_[O;2I76C9F&?9[/Q^HA[58'Y9QU_;Y48
M?V_I_0Y>B9+[@IO*P[.5EF25'69OZX-61^_TSQ==E:"E$-";>K>#8^:?<PPG
M5YC]7"ITRHH?MDJ)OYOZH =^7T_5_<\_6]1W.];4]-OU![I9?=K[>2*OH(QV
M!]3M8%=3S)D8VI?VBDM[Q1EA[=)>\1SQ>6FO4-U>L;[F'0I[O,X#[RT9"TAJ
M#K^>)+I11%[!(FY-839=S+(;6X B+(;VJ:WAU@F^?V,^?F ],&,SA?79^C?B
ML7%_\QM8+(NX:_YN!7N8)[VS;TN?;4-<H[UG@,$&QG[!2UO&R3)MT1\2:#;
MUWW 6*M!EYX4=]Y66>?=M!U_0>1B^%A> H.],AFWX6@C:V;!B<2M/$X04T<F
M%63WQ%R!R,%EK=F-R_<)_[@:><OP@QLZX2JXI:MZ<$%QAT^0AS;2/3-Q+9MD
MGU^2^%.VTT.PNK;3_N9.U\DQ"S<6736TGA'@5(JXU>'A8,'PPA\V6T6W)$E>
MMX"A80V[#@Q_[>'5KG<A;-WR[=^]&4KPX,8=%\0!FZ9YQ1RO^L";H:<S9OD=
MP%KC)*-JGC]\J]V*F!Y0ZB=X_HGY3 E+?\,KKOS?+==U)HXK+R"EYD9E%+Z%
MI07EJ^-FU6?=] 42W'P^?+P#3&O,,:B:CP_?:CE\G.LJO==K=U0>?;OH+G!?
M>_.Y$Q(8KUS[FI9Y8.[88<'[Z([&[1W/:W#4Q#Z9?04\,.[A+9MUN7:T4_MK
M1WM'MX@K>/SOHU_[6D-+T 41<XHR&G2+6/*&46 )A!K*:K TQ96?6M1"CS>,
M+A:^]X/NPIRMM+_NN1H;M"_][!.SP/^_A9=^X._\@O<M*BBK:_?U5FM30-/9
MB]QL,4$+,WNS206YW8K@T>'),L3;5_'*U_ER3GB#76A6F"7-Q'6B 3 4"-*Q
MY89*;P655.4$NC;QO;D6 J.CW4/_==Q';_9(-\)J,] 5#^(V5<<5,2.-N8^.
M[[ES.I,VGEG./-"E7^0B7.%3;^D#B8+T'BT#X-4@NDGUSZD#DMT)87DZ]<(+
M H>$?<@UL-P-"U -.<&4WKN<\9M>-6N.:@+?/'.LD0-;7&E/3CB5R,"?CB4[
MA=%#P%?),X13#[;GLYF\OG4&G#33@(G&C)$YJFL@\T"&D7/GD"+"?7@+0*F'
M9Z7]QER8W!E"-UB.I^G5T8YXFCKP,2SSZ 3XFJG%H3#">V[Q:E\=#C.;T6=3
MZQ%>JN&I$8N:93\R!"J;3/"<'@>XP.:+0 ,=#+8,/@DP)2U?FD;<-9)BEW[\
MPUT&2VOVU0=KQ&?_60*L;]#[SZ$<3]SEP5'#C=108V+-G=GJ33P#8" Z_%'0
M?_W7S?N&,12?-.0W^-\;5_ML^4 .7)@@,O_T_)FM_<ZL&1#T5__!<L5MQMIX
M:J$@ AC^#Q(L<1J('0 *L*(%#+D,M)=_^S^#=KOU5BY*_S3>O@(B@CW;; [P
MIRN)X=??@%T<FW%ZQ0]2Y6,H-V<@E_BS\GT:F(FDT>&%KL7-2 T8Q$?%M4JZ
MS+ZU<&PM6,##MER [U&NC]SJH1:SP=H.\#)D>6&RN#^9OQX^(WZ>CX#='.0)
M&V,RL:347%*!CW2MLA6SQ</,&^'N@&B\^2K-^L!54;@)OK#!EO57VG*!-VP3
M?SZ1:%CQ.[71*Y1G>\> "EQ\BY-&WMP+0(!SV#E! "8:J&DV7M(29/$$XMU
MWF@F^T R&M(X#L\1(I+@#O"T ;=N S\ )H1#P%I <L#V8)DC.!;DLG'QDX9Q
M@AHBK]8!ZK1\;0[J$_@),# +0-1[WG>\&'M,?M^$YWDU?LMS@.>GZ[*;T402
M #K\%H2P#D3@:QY7RH# "*&)C_!N;WA(NE+\F6"Y6,P<@@-ZTT*8(<Y)G#$[
MWC Z9 '\,N-%\$L@3- 8$X?N$M=B*"6@B.OQ57"P$1?PTG:F"#[ME<D@%K\E
M'%C+LW4\._\IZJ3D[]+GUF&]$'56BAIG:*O9RS'N#>]%A^T@WAPPZU 7 =IF
MI"F)(OBMX33/4.BCZ*#1M>.P9H)68T#0%A>6#XRS!.PFP$CWGL]1^0B:".!C
MU#SPL6//A#^+]/0C9%0NS4].CZ/JC8#"9.SS/TM8"/8+3R"UPQ-<0<\7,V_%
MX#%KPD +CS$LX+MKFIYSQG09VMZ3&[$"HSOF)RAQ4 5SZP&@*9;2M4?@$ _D
MQ9/G?V](/0TD&((2X53FL[D%""=#A5,RL2O2#9V#TZO@5?!]F& 5+A) %-I.
MX"\7I"?%CM]OT .>F809<NO4<A_P>TEI>&+N3G.2X_X(PSTM$10A["]<)39"
MUI:4ID1JQ(<1:P)0.?E(&Y^_%_UD9$<-U)T#-E=2FDER0SB!>3N%?\[0V+ !
M9"OX7/R$OQ VRT4 7GO/?\K](Q> \8CJ *C!6I%?(F%RXR9)86K-)I(.Z #X
M7M"2+NX!+[;WT'0$54-+ (0X%+0'^-PGD[$!3Y'42R&3" +1_$.P#LX88T2T
M<N"8>#NWQZ0I'@"AC,>(#3#$8*$@3.B:$1N#M4&X1P9YM$ 0 E<G%56D%R6;
M$Q($97"DHA6V=(%V;-@L206N:0)4-5N$X;H@%0H"K#H+!SLAM3-_3I(2MH1D
M.\6HRP-BC@0E41NA1=*H(#&@,/CY9&8EZ19.$F!* AD=F-_ZSF@7P ;D&Y+T
M#1 /TF 6-NK(]Y(,@6XFH&D54R^7I&B0SISOC*0;,AV\F0M5KG.DJ1\F )I0
M'4](N"[9^AR(]""(&6[9X.G' $/YALC:D*_2\1$'H$G;Y91PL*87I$@RCP0I
M0(!< 3+JE^YW%\72D[3FY:LG\3;()J&X%!="W/P..%A&3%*!% JZX'>N!A-*
MT4\8Z)'@X&HDL3) $RS $4N8_:A(+*">W7*[F:I#.LD6/B"C7HSY?R?DU=?)
MW7(4</O_ YHV085F_^X?@_$^!+L^WJ_&-\R#-E_=?8,/N90-OEDK%"7O <GO
MA:G]WEI]ADU,KUP;>YDR#IZ,66#0=(Z/V]9J!8\S]\6O']G(!_VYTMH\M-!>
MQR1W,MYYED]D\][Q&1<9D;F/6N$!+0JIB8'G(]4 /]D3K%D_WQ6YQ-^8?P?N
M"TL?Z4,ZM!38\6-YHC:M9GLSVX$\ K(57DI"Y,C=7R]]GPJ6=FP[=Y#):.O=
MC,L]=%3 I&4.(J0$'=U[[]@WRRF CKAC8PRRB8C,5@3IU)N1,8<F$@4H410>
M3?XX_1-_7-2V.]F[/C04<HQ<K"S8WJU3L%UE3/WO('LP>O^7QW\;[;_ @O#O
M P/MR3!-NCS/6/S8J,D>_7IS_^&SAJ+]&LU\=..Y]4.S:GW&>+">(HU7/%5E
MN60#;HQQ5+$[N::TYSY&ID0<*LNSD>-T(=&BXV+8Z(W9P[+J+Y[+#F:MS9\?
MMSS_"R_3;)@&UF%N(Q:S#&*YTC#"9AAOHPFFH>_-N*'^#2/)-GE;RO'RXM>8
M"+0MNVAJBA-;WT>V?"J))X[GO[^&KY/)AQ=!(KRN<[;B[@.&-)R%< TF:R'N
MZZG#)MJ'*++V%6,KF*RGLXJ(IBX>BS)'J<?N?>YM^]K+Q+L)D?VWX/;[X#_
M^K.$M>[QG[_2*5S/'JW9DJ<-IC(8#WNA@,#&ANT8,>,D8A8Q>;R$=U*R %U"
M=$IL-I%QC5MTYC7#M!I&]R5[13\UNK;X%XAPC"+!@G< $)_2#  <BE,PD!CD
MQQA#LT,Q(=#$Y#;0L?_VGZ47ODT^RS]Y]4HDW>EL;A18%+X&^8=\W#<%27RJ
M%HBBHQ;Z]8 W.HZ $SDYAV.1?Q>+-_D=N>$880+?CD!OA?KF5FEA&<D[&A,8
M78SPB>#G9@U0D,X?"P+Z>["< XD[_R.%,8<"?06'M\@= [MY9 4.)9VB0@L-
M<QR.SWUG\/'$GB1 $ZDY5P3)\<4!#XV!QSI!WY4<YN5HCCYI3 %)5#;5LOKG
MB'$CKN%5(WCZ&QZ]GTDYI'T%BDG@\U;"2E&*,T/)W&>P>3JW)Y(1E(9$+SM*
M/4H,8] #XR'T;QN0R&.6XJB"GC1DCH382)"%)7"8P>(I?DWQ^R3%[Y-7R;C5
M]O,<*$RC7U8M4BW1@K!7FD;O.QCNV^J'=&1-+JGP_>V686IC$)\8;XEQS]&S
M3L^TB_9;_/C!)RT KMN<8?A5EYF?F)F!24-&D:T[)#"/PLO)O%YT2(2A#38[
M_U5 R>$XGW?W5>;R-F0MR6$.1([^+) ER!U56%J.'@3D8 >44V)S"\R5530<
M<>5DAN"* 8>[WJ"L5'K>6MJ.3+!0$A%PBRD_+MA)  KY3N]#08)Y/&L\9C/&
M:04%.*8_+,HO %:8R!G-*6[.JS%0GUO^"+X,&E]_S-B*1 ,0U1WC48OA8'@M
MZ>:]9]L-($'W.SV%>M[V%F%,A7<?KI7!/N$J52WW#[9 @5C)EHC1ZHK4#C](
MVFHX7-8<;,:MB_4M2OQ5,A$G,W L<[Z1P=F8CB7#QJF,( :.*;]B!9Y+&0@1
MS@<S9.,'V1+D8$ H-CZRW;U.&>[>N[2[]Y6R4HDR6O6.WFX'O+)P5.^LPE%9
M1SB:(KY=W=YK-S<WQZ,\:_D<A4B[7Y/DC6X)O&&TTKP191;T3<M25KSR:G&F
M_4:I8:S"+R%0<FB8(NFTI95")!$QRHP!EA\K7C1%2O^E\VJC&C$[Y_)"PZ2K
MRX#-T%*PHUP,=_:XW9$H4 RXB[_2O"<7@#AU%K@Q[K7?R>^^1M_!4@ESAYXB
MN+]T8(?B1+S+!;P$"TS9Q31^7]PED))OU[S 0RJEC#P2QZPP>P.QK(/:8RSQ
MC642/H.E1FCW3.#O\%+>H)$)42<0SC+:3G;LW"1"'KAJI#H3]C,L MK*%593
M],M8N]."5ZZ[A(-^9HST.-KJB>Q&TNE*$@76JXE:FG5\)PJ_),6G/1D!$6Z!
MPR:_@7+7;OA#3M*9_@C+ 6\U_IFP$<86E0,(3"718V$;!^6B-WFNR1^O50R0
MK&MIK5J *IL\)09 &'.FP!!'[#UNP%4'NPV]4B_R2KV$5QHPUTDEW24VHM($
M6'*QBL"^MCZ5GA#)61A4FSHC)]2,CF3HF(@$_61AC7>VB#K!(=IJK6XE]E&O
M#!U@:(T$Y2& F!L0:=94L >,O+1P>I2(1RDI_/+$$3?EX"83"A_^((%8'TZ-
M3IB*9VQ1 &.>,I]1-6#@!+P,)O[^GPC!WYOP+K!;>;WO/Y? -I\]$K95\$:_
M#-YH8\U(II:^%I56[YC+L%#4FI634.2;( S$A@+]\U88'7>A-_[.U2 \ HCW
M@S-CY!=[6?A;I%V22E\RJBSG2ZZUKNTS[+*,+%!2,$1606K;8D-[3;FSE"&H
M[6V/!8F^%O@$@V54-YP0,HN9Q8OE+-]'>RY5BUJN8!B4(1A,K#@0(H 8#X/"
M@/4@Q8KW (N 5PB!2\7+$CA)::*CY 8,1*SP9>7[4;+;Z(TU@E,N0_8V^W><
M/%I('>E11D0JI2IP=-,$PQ7DZP :OP&*QRO V8-%2<,(>]^ D>&5220F)0RY
M9#13Q/&#,.&/<:._V'W61WYD,]VP#*;KI*,5L1*(*WNTCTQXEG>\1>/<=-^A
M1NPMO :;5Z01>\=FPF&&?\12!3:+Z0_/3X../B0P??'<!O_7QQ/(K+(89O]G
MC6'^JY00YD',WVZ5P?S=- 4+USY8*ZN+6446J:L7 *GP?J./<P>34L!H#5 ,
MO+1>I=0G"H2)AXUNJ 1L;[P4<P5\%@<P+"H&B&(=/%OSIFKK()M#^6G[-+85
M\\:[K ,!$_Y0!O:"-^K2R7L&YN<H:A2GN6,LZMQ#08P-CB$BD@?Q4C>E9YU9
MQEU=#9NIM<$:VE55WF3A);>9V. ZK]W<BMJ8,8_#<9K+<)FLG9]\]'C'0;3C
MJ#\O[HBE+[!G(ZG3,3!*N6F/K#:;.MF6 5'%*IH786%#[9AZ!3Q?U(N)\K)4
M^B+ [K*G*(^1FKHSV=PE>5_P?A;P)KS0:]:!*2IT4++.L2Z4CEN#"S?S&.$F
M]=0S%&CR:$)N\3YYH&YF^=1DB::8UAZ6(\:VV29&&;9)+VV;Q)F$.RHY7?VT
M)0:#G\\\O_[]YOKJMZ_:[<V_/MQK?[/FB[?:YROX],L'[?IKLR1*./$0'_[[
M]YMW-_=W>78KQ$)9(O^XLWU94@56=*;=(:Q6+,=/DL<E6&Y<-9U@N$G=9@B@
M6-H4?/W_^LLT#!=O7K]^>GIJ@AYH/GB/KZ_\\=1Y9,%K9C]8_FLP2:S7QG#0
M-UXCD(?=EF'V&\-!H]4RVH-^,_P1_N77*ZQIIC)X#$^,XZ&#5)=)C=*RT^%J
M^;"$?V(CHS$<]IN)YWE]9!2#6,OJ1K$3?S.IJZ>SNGUZ]Z )ACC882ZG"MQ]
M _;<[J\%.BU5O*H$@^U3S1Q.]I( [/9@T&OW;?;#;#>GX1QP*1#%0]UD@=K:
MNU7CD_44I'I6PBF([X>I!'H[JBFV]K%>N[.%]<X'$3B:O A.:G5;+;,_&+P>
M#TVSU64_'HT.YZEK4?KP(2Z]B&.B<1Z;1T.IJF*C02<XG+M>',)7LEIB"U_E
M8*C"#.%R_JR0X-KKHCOF7& ZXER<?^#8CN4[+*INNF4/3A#Z.+[P+.6=L:&R
M$A++$ ?'7%TJ7I[%*+(YYMO2#Y:83  &P!IP7@+>P0@>\!!5@-,_0-)=B3JH
MY$]DO;_9:DL89S0&T#2>5OM<8=[> ?/V7IAO-@K6&^8;[E4**J<V11>%E?8N
M3FB?R@G&0/NC>=>\;D; -LQN2]^'D6&KIQPCFT%W#I$ZH&0'H[1/991ZH:0&
M\#9:1O/FRQT'^8V+\0#MO]_=?@(C!\Q4M&G>BT1+.F+#JX7$(S(7$Y>^\*"6
MC,12SY3%V^;>@\7&;1T9Z\6<%"T96@^B-QF,(-L61=#1.^*]R?6.+I<YT<)'
M8-U=_[[;$A>(V0#HO?6#!G>!T B92W7;&-B?6Q&$RS_,]=6GP@YS;<UP1"/Q
MRR?'_8ZMIQ4>[?V'CX4=[3UVN#EU.=FGJW>%G>R3-6*S.ASJV^V'P@Z%W=R8
M;"H$866#HG,X&*ZI-?$;)@VR)>Q+GAP+98=W##4Q;3.TXNY\4?C?,E[5HU!E
M>%:1\"IBSG<WOWVYNO_C]D.NJ/,)A+VM9"MI.B72M"+9.DG87-Q%>6F_BLRJ
M?8-=KJ=@[CV JP,D'LHL@36>(DE?>TU*)=M+K,='H\).)M!$7Q6.+^:C!&C&
M)J,1KZ)YG"H0^0,ZSP8O79R/BB^TEN'4HW'D)18:%Y_*?1Y_[I:.[6Y2/.ZF
M&+6X/"T7F4)NVR 6>[<Z3D!HKX/7GQU@)5#P_VAJ[[RE_Y!!(GDJXO;L='W5
M(M\=C_./ARAM#&LI;L&,ZVF+QNS6)9X5/Y>J9PY2*$D%$=4A"1T!1K'W)'5#
M7'.XH/IV*M40ZD,LYD<187&S@^Q@M<9QYZZ8PF/SNQ-<&\,7S#ZVS"6WF?'O
M91 ZDU41;R@U 0UB[$]KAD-!_FQJGSW?=X* K0[*1Z^I \O!233;F_KTRB&3
M>=!C%%[FA*N7&0'+8H^Z=4MB"WP2S&<^S$7 /]5!*_HM<X7#^.7E#6.0EJ5%
MX23:U,%X.(Z^11XPFF1-=%UK0_-H_MTT"(YEWOT#VO1X.ENYT-@\W,&G>ID5
MMD9.20S!E1R41SCML:6BUKJ#F/-D#7[AD5T\DFX8/YY#)#+U-4SR5J4(B^5"
M8?U0%Q&:ESR^67B'C&-IG\$V<&8S='+RDDBY1\W:^84.<HN)>(B$)(#$#FPG
M6,RLU1N'0KV-$5XL(J*TAM$TNA@9W;=(RMRI.W&EP'&AJKQ4]0\+ _.G^5?;
M%%"&*5$N-+(.=R&5W*3B35WM4U.[FWI/;/9,[)3U0U5%'E4EV\S65DAO>\W:
MC3&\8>CUR+-7 )II.)_]^K]02P,$%     @ *(!U5+8Z\&1U 0  ] ,  !
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
MW_6]H,5?-_BSA__8T6OYCR3_ 5!+ P04    "  H@'54COY;SRA.  !Z:@$
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
M_A"S%-"V$<&3=$IGAYM#EKDR>O@"?V>HN5BL\;#-BXCB"RQIF"B9%JO:,6B
M'QT[FV?W>Z 507DA;QT\)866S.JTO)_]/(D&^;6G)<U?^::J-/W$NA1M;>^&
MNHB)7BZ&)QK%AA)!+ DV'\!V!MVY4<N;KU_ ^J0+)VE99[,LQ9_I6NE_RW1N
M; :4$6!<Q&;K];K,X0W2S+ P&."I^< TEG]VW8O9%9%I^R#)!PE\A^[1B*WE
MJEX8*VML/ L0K^:7Z:4AX4H\#^]B^SU[L_9>D^C2&/13M\GNW<"UXNM=PEOA
M!2-S;4D4COZ0KQ(C,,>+; +&KG'()ND2U0D;DJ&SH(,?@5X(K7^1@$&6XC8:
MA-?O>:<7.INH?32X$3D7]>XM,S+N>F6K/>'O!T]K,I#=\V99:98.7XC0KKJ8
M*JUOO!C>G")R*XY0M^'B,;U;\Q&T77B*46_U1:>" ^7GI$*3#;.*U2AX)K$[
M@\JXC;0_H\EA/10_'FL[";!'^C4SKL%Z88YL;;SG,ON7^3Y8IQFH^9)<[G[/
MVK*&@2_3:M\],]'7.L,=)(9+4^O X#%H&;2'3@?8O[)^Y"^_K^C8G13\E.7F
MWTMV%<;@ZX<?@<)K++$ +5/&:9X:+P .T_@%Y"O@/XP_8#RL)#>4AG1B;@$$
MN-G$C 6S)=)E@@K%Z.NK8FT\PW$JL0"Q;MRN06+HK3VJ1%).TVI29F-V#I(R
MF9?)ZB("<]4<G1AL!S_"3P,C(2>+U+CO+$X-M8RO'R^2JSMU!@Z>_C5@YTQV
MMZ>ME0-DG?@:J?3I4YLR^N):9DTBO-7O\1?,4O2O2I[38!L6*FU62*Q)&^#\
M^[.2HUV-Y'YON38T.09J6AC.80IL/-6H."V7D&5$+O'1F9/QKR5\@"'IA9\Q
M+/6E8BS:HP\&S7T1<(MLF=7XDJ1H@Q_6S <?VD7,-Q60OCSSA&H-(0RS@&+8
M\3[=M':S]F\4RA0.J$#2;":_I"'!4='N+,*C^Y7@<9!4P.4@V:Q",.8/UQR'
ML1%E=^A&7F)0)D;'N17U@<TB86)DC.6&^?_H%2Z2BDSR?+T<D_';S9EL&<!K
M7\%U*>$ _&'5ACEF<Y/!<]%WGA*9^*&P#7;O#;8N:&!K['I!@TZ+24RP'ULF
M6,#PNSMO.:A#&N[G,^-^[DUOXSXW\P?.\6LH90P1M 4:>E^:H)B&UOD"Z1/4
M]W2:X=I\G=-BLEZB_6_7AX">DP>3@#R(&W?#MU8Y+1:9KZ=DH)/ ,)ZS$-I9
M88SX##=\IMDP 4]MEJ%T21?%E6$[+:.(I#>L$$=_0()C<4TD9=R:$@@\IKU4
M).=:<O 1) NKNI)(DO@C+0V=Y9/%VO[9?L<("G-:\&MX*E [_!OEB=%GAAI+
MLTIEPS_^DR&86]'+X*]B^.*E49)3LL@REEF%6&WB.55F.W593-<3NC!CZ76=
MJZ2;E)IB5YMX3S_ 4'EF'K^&'>?%,LL3]LA!,AI/EPS(8K;I>>9-C6A;,*U
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
M)5@B'QRQ.]/6-\MH]Z6*%E79Y_K:ZVW6T2=O]T79WOPR+><0MP(#"1O R6A
M_C$ZA[*$L4\<QE9)0/) :W5*NHFSB;!D5:5U%3?W?94"@,,-6R?#R>Z7\R54
MVHRELE3I2A6M5%@DE(Z,H4C7>ORQN/RJ]X=_0_(5<VE2/@TW(23A[C/0'^Z"
M3:UX3Z/&3HD?ZFGG0"41(4L/;.YS/HY7@7]U@;X.ID1=)/E#CC^A.5'QD7 =
MM'.(*K\,\0)+#_$S('VRNMFP3J\4LNHY7PF-[^#JHAC#,$2Z2C(;J/\=MIIH
MTDZF?QA&XAQUDK,QA<$EZ.(EKF-^S%.F=_/Z<_/R]C+=(G;EF4M\86@3M2KM
M:D86%?>H686A9*-C0EX9,QK0/@!A%#_K "V/D+_(BG5E*+#BDJ>IUCBA-FXX
MJ97QHJ8NH,*"PADL&[O S=[1.,'P.#?>\4'1X1A#@?T"8?C@/EMAT\:&[]N
M;+B^/QC75VR)'W<7]J]'?P<+P@A[8T*<G!Y%1X/SH2S3[VTP+:%G$NNQ+[&Y
M/:$C;(M;"E/GTT:4W@FO;T&P=NROW^,=MFF%O;VVK=P*/U=*-+A8*]D7E+ET
MV>JNOFPFW&(FOBQ+RD;21D6R RF/1K-V(!E%X?Y^KY%TB"V40BB1XJ5A("#)
MWAY\_OE-H6\; <HZ Z5@QMF>X:Y-<"#Y>:"[0CU.%6FC\P</LE'EPC@&>)IV
MTUXS:^"I6SA@B)X49I4-A*$"@4(C-F84(H]&9(-VQ?$-C%!TK,%^7;_'4$[T
M6'FM,XHNNNUU)-R4'1+@$]U.O\*"#?([)L30E'9734,;6")V+6J>IN%\<4N&
MA%-HF&O)"^CA<:]F%L8FZOAK,JO/JTJQMZIM-*'YQ^86:QB]8@Q)?]4V>S8$
M'KC^R+O]39OIX%!LQQ!JMN(8LQ-L#$+DRX'V;#[*L&EXVT,U%MJ"BGE07"M[
MQ3_29I148J,N+WQC7)1U#04A"F,Z@6>(YD-J(_G>-4G^2/,G.L"S&3S5&"DH
MEV:^'3H1T ;)0\ FX(621K,E;[W?^RF0TWZ@<,=/NYLHT>^GH_/SX7%T>')\
M-CP^OU/4HG $]1:815\-249N%__)1>"8 \,P6HY4((4!$+M.?$=Z@_7FP\3L
M)9'@1-(#-\.\!#[UQ3@OH34]8!5R<&]">HF^&M#+C1OJC'MNA?02NMJH=;/]
M7NMJMP5^V8SN=OO^U]M@O03.<C/8"X)4[83V$M!8G6 O'5>[+=I+Z.L[P;T$
MCT,B'?U>7@0?L0'QQ3_!70!?PCG5'W?*J6X/&M,M.!1J##E>7XH;<\,==^;C
M[PHWIJFP,PAJKP$<FXS:=64(#VVT.\6/N6?P@>WA8P118#-^S"Z8,=$W#!G3
M[P4P8^ZE;&=\"PC&(3K130J^#:H&('D&A&<W91=YI^#X9HD^#E$]]X]\&>Q&
M=YL'MY"S,_!0L!L^'@;;-_3F7P-ZPYD>*M/729;6D[)1$CR3IK%5IK.T=(50
MT*=M,2<:N!W2OD'5ME(=Q;IIVMR)L=T2I7"Z\$ WP]?\I-"5["L6I?RS4LQG
M)-4:LC(95B39"U=H3K5#>&2 @QO*8Y]$?Q)(*[R-2^792RM/+!QE/IE3 175
M<?M (>&3%P3%0 L/J@Q(*FV\'#GS%M%Q>PA$$Z20LTPOBXEM['4_57&+4XG$
M=ZB<O$U)),3(NFHBB9'X)8&7U7:?_.4_#GY\^I+^]\;JQFB[XL;NP$>'?^0+
M "IH;!8:=AQ=O[=-D:!]?5<%Z!"S@=[,22[72\6($+6J&I9';J1#527E]489
MM5,5W\2S0'[:I:2OW[N3FKX6^< "BET4Y7,6TE7Z<5[>5OJQNIA8+[;['K<N
M_7-.]AW6_KE@K00!S/>R_ _C'"*)&C&0I? ;(E.WVIT6#6Z19/Q))1G_NGL$
M[^,)EBG1U]Z.SL[/_ RC*B2@BNZ+Y!)IW!#8W,:^ZS+)JQG0 \+"SZ2%-VC(
M.#\\[D:Q1_NE(WP,.M=<_6J1UH!S5UFMTAFH"Q4OF%7*$J+"I/L7JXMD;/X
M'2(8'31T!RV(5R()I;H Z8E(I66V*0.)]1I:E.WMQ6S.P>YCKDVGBEC\L!R&
MS=GX&[<B]!/D5C#ZL4A5]9CL8</8!6T(%JL4"[J8-S$NS;A/+:!#J;8WC#4W
MFB+);3S+'6N-'\,"!JX$7E>0B;7I/"A JKQ4%MXB9P4@+3?&.#U!4,%>Z45A
MG[HOV)5'-'(P!)=U3:-7\*4<E)6'84;;PP" ^154Z:A^XT;Z =FAS R_)CQO
MP-#N=$[,X7% S(6SZ]4"1*&KWOAD<V%@R=28]K378"Y[F4"/2P;&$E3X<$5H
M04Y:>4,T.OV<8,BZL@<J;-BU3Y6OZ??XVK8HI;C'G,3/NTNT__YP<OKAG;XT
MY;:V>I?[O:TJ_T&[D!7AS:?0@RMD5H7<:->PBNXS=EV7D2"TN6J(=M=U8.-P
MUWI/(/*2;*IXTZZ"74IT1I:J(.;E?1_3Y)27\_E+L;@H9^F\I B,*@VS;P^&
M$"U-ZCN9 0(/.N7<3,%\UWC19D]CN_#)"U(FDZ!"B-EMY!:&0CK=YV6*A1$B
MS$OX&_=@HH>>5A29=!"&&!H78:;%ZF BKT8QI8JL" V[0!:W0B76B9N+! XD
M;XHSMM(#X9=0-W[G<;GJK ;HRJJXHK+[T%VWICVY7@Q)_-:NC2#W0^K^/=DT
M,Y%/N_;-%K!9FE'2D2D'ONE-EQJS_9&@E*?O+W&NH>VG,G?N/L%[LJ*\L;G?
MS<M-R^0*J]0;-1EP%)J!G6E-)=)<UDSW@F$O)P6F2@@@>P?F;]SKG*BGM[86
M7_TC>C5X^_;D7%;X2!Q3D!>#02"F=79L;-TX7YAAHLL":$?SY H+6TDPDM5)
MYTO)VD[/AAO6J+^ZD!8%\X2Q^6M1/Y#F.FC,X=H.I?7]Z<G?1T-K@P];\43'
MN!#,12D&=ID+/"+1XH0EMM3Y2(C'$92S81C'#;,5;!,R6]NCGGR="*MQ01--
M86H, ?)K6N)V-2CNGVNAPX.?J#>(-B;I='8K_;7I2TDKV)R8JS,RYEJ%)/5(
M*4DFL?\*S<_&R%R:.[I@?M?Q9VAUYFXE>/^4BINNP+JC+>'!9Q64_X+)1<T1
MA!-XS6;^-!U;P&-^88T-BYN[9YIMN)1_52[EP3/G#^XL)TY>1S@:3_F42-$M
MRP5),"FG"W:P4.\JTUB3K*5[+!,@/Y&Z+ZOU&$)7OLO7683T4&T?T<$M^LN:
M!PHB^'!X>CX8'4<\>-#Z4VS#JC-N^*)2J^XA'TZ+)4CM"?>4I=G<_)*E-9PE
M&CXT6Y*$<TP!@3BR"1<9_4B&C:33^[U)H[H&Y#QFYV*"5Z#=)>,*/1[)PJ,M
M7)&<Z1Q'*1]N/L(6\'R5F9,[3''#P_>=BN;IF\U-H IZRNP?4V 7TM'F_6(>
M PA6XW)E7L-84?*YYG50TP,%A<W+PV&2="JP.ML8Y#*9TWQ^OC:K9P#/)B'P
M\A*^@S^NC>2"/S*.7A+]ELU02KV#C55DV&X4U&P30O.H]3'E=M@B-?LHO*.@
M7,>7OL .A$^PG6D:.,GEYO>[C96V:7CIO='BYO/@]%<9YG3Y:TS(3'R-V/2G
ML8\YWH[ QSNLZDVAM30CH1(D%FN*0/$ Z72C1XV3"B@]TF+O8NW@?:R@![\D
M(+-RZI"BB)H$0ZJY$QIP283V)[SJ@6<D4GF%"@F(,1+4IZ@H-9MB-H8L<KEQ
MBTLAUT2F8H.=T7S!1Z4VG"X=H>IO&[;A1R+4P^YB=/!=WXEQ5CH0'!&/!\,.
M4"A%]CE*IE FT% XG &&4<'B<4(,PWGX3R[PSKA>B8(;I6K3ML$ O->L%+/+
MBSR#'XMQ1!B(BT%H&*E;82TCQ!%*$B$0)[!Y/F_W:C #CKJY%J.6T.\1N*?(
M:4B$]2CT"D0V8-_+U?,*F4TH6#S8P"$$3@^]$+LO&X 0U,W6OE6NS.C?=I(2
M,@]K. OHE[!-?/;[6:7:&;F(H#6W-ZNK=I1>QX$"C^@ZYR+P/#\C[NH]UN,_
M&) 5^0RXED@&DM$8/+9INP8B:\#W:VI)QOLIK<-%\.?L&)$/2:GH[CY,OSS%
M;;>Y.7-[;F>)JGT!;!HXU,IVG/C4U:'A0WNO.?O/J)6<<; Y$*-D5%?.GT\Z
MG=E(-U CS@I!WQ6 R_(Y%T%CFJ)S: QJ]9C[DZF#&=#5Z:>X&>MNE8$3D4\1
M]*'995$7,"C:2<]0J)N6IWY1"DM")7+5\5YBM&14K!S-LNG:4$QYW5%B^_-N
ML$7)RGRMOO8-'G]DL7W=9D\)@"#L_KI?F>;N,S+V_6TB8X<?WGUX.S@??1Q&
MY RK7DDLM_&J:2R:1 QU1V4H;&BCWY[:; LV3NH$\[U4B<?S$MF+0!$!.CZ_
MMD66Y,"65$II]X;H%^/4C:FA=-QDO5POL/0:4C?T))*-\XSC?A,@#BF5P2=1
M]0H[RFZ?#E7#K%EGJT7F:JM5#5I66;.+:I?^B0,2:#]3<,ZR\9KLLZ6$!5%_
M,*(+9)^7!774XG;L!@5B4,HM$0OQP6*RMX#<&!W#9':-X#+8F,1CC(QF*!OF
M-1$\@\6$E:)G+E!I4RA[),&R7< X<*59S4;X^XYZP*/5=KA')*F@'"C)<E;\
M ##753?1E=HS4AU#)7)J6=EN4?3JES#"C48;E]%!J?%+$K\H*)A3_!V9IQO^
MJ A,=LHFIBU(JL248;5/M5. ]4B5C78@%7C);'&@,98ML:W6[(UW-DNR$A-7
M8$0S]-P7!B4?V/6$@"Y.O2U*)F5'"4[[J>@]:D5;%6M$I@W=-Q*92VX\+U._
M:PS8P3T"ZL4H<]B!3$(K> CVW@K25FQ?P.W#2RN[3]0^ZJ.VW+T/J5VB;>2*
M/_-=V4"U$B.A-MR"S34D'%)YH+C&5Q'<MX#/<%A)&#*G*'F_=WSR;G0\@%7/
MHL'Q4?3JP]GH>'AV%KT_/7E_<C9X:^4\-(N<*:%\7(C0L5=^DB^N_4Z*,E7#
M[8(UY1HIW?8BJS[S=)'-,W X,*^G9MU-==2[Y3NE%IB=;5#K_&.SG@?5/E#5
M"2._.J&-CF7S9O;MN4RX$F-+@X)UQ.EY3]C<PZ9L&]W,BY$ K,5F'*3 8_;8
M/8,DH-$_+@L(E:(0L+#,L(]S)C)Z2%/]!@KF8,H(7#!$W#NZ1RVVFJMD,0:;
M L/A<@F'52[@*JJL_>!'(#OLO]"X13O@'?"XJ5#E8Q-*#0 ^7M%[83TE-.58
M*G6[M23JCPMN[OJ>C8Z1/W!4864 KD V0:>=JW9PFH=$NW)+R=Q0AE39#'K$
M[>X9G""-;H-SPQ;7MJW7!J[%3) 8&9;,;]'U^S4%-(P"^I)K\+WA@Z<[N</4
MI$G'$W>UZ+4.)#B@&^Q>1-.0X!%UZ[0 )16&*!K<A@U";.PC#!D//#5J?N_G
MI_M4;^N#N(&9<+'.I[@5 B/:.W@FGU6H,1(&S'/8./8+>"AU/+BUO9]'E10C
M0"WHDNL+C6V9,V-9;A3\*PS)/JH:K*SF-?1[_L"&\ P$O3W%+@T!85N:"3X#
M#39W/ +HXU=)8%.!D26),F)T46WS11KO;Q'3VD4>WMP52U^6;"J"C2'Z". =
MA5"%.#B=FT/>@]YFO%H]M?4B]>%O?<@7[Q3]H[M*! :&FHZ#W>9;K3%-8S7W
MA)JMB\E$55"/<FQ*IRLF.X*BX,&'0I+,AUIIP]Q+8P5(2\/6>'^<)! =Y%1;
M!W\G>GQ2,BXN_XQA4I)D89&^HV1SVA-,&ZKKQNJ5E1VCM6R1/ .*5P2S0W9E
MO]>T#-449+!3)">'%1JQHW>+CXB2M)(*<]?7X$J28C0,?!$+1+>R1:S X\6U
MIF3[S<-]9CAH;T6,G3)+NQM=)\DJ@_@G!6H#0MMVOAH%?T73-52S:Z%M,)8:
M?*1HX!SMJ^XBW=?N0)"\8JR-O>?3K$(Y0K9]2WC;EN,92ORJ^76T- (27L_I
MKE3<HC'PV@OHZ?EMU@[[7LZO>SAMM.-L6@5CM5[8R D@%--N]11&M(&P*."E
M@X\C4F]2-LL/96EJTJ50BO0W.PIMVF2.3K\^M45;$%M@/S!/C27?2FX-HWG4
M;42#Y:1V0L+\H&>-B<&S;+RZR<@.4K?3!5 2I*E%WV20,!NU%N=LSYLKGY5X
MM-6^1SH. L/9Q7OF,YBY\\SCP+L";WGM]<(_+=N9IN%1W,NVTK?C[-B&HN,>
M2NXI)J6J$&1"2/.(Q@&*&V[#[JWM/3C38SN&XOH.+._-3.]Q^FVXUNO)XE,5
M^PHB&0#3GDD[>ZNS>M9!IG@,</)T::BP% EC&@2*N=*&+LMFDAKY\X5%CPNA
M[F!@1PEU_YT# HE*Y&\.*^W@J=MR7 :.[VH\">=&#PYV\@9M+29W5WL>.-BX
M"%G)3!*.EQG*+?QX6>SO6SH!C!8HFQV)SNOQGPM 1JE4=V!4FE NY5?JT_8.
MC2B@2N4_94G2<5'#H=K<LA&4"E$1!&QFU)IK5B]F >)QLV3SNDP4A$/#Q0PE
M(;U\I\5O"-?U-MD@ Y<;JJ8J#@;8P#Y.5VK[.FP+>NY_0D *BX6+R:$<\K/&
M%BO853!5V;^LF^:V,9:=NU>T'<TZ>F"<2PD;:!A6F0NG P?.3>91<4&'O]/W
MT&UJ@;OS6VS5?"()UD -10%1[>8,9^^@0,."8RBSK"LN9W,VD9P1XCYE#O9%
MX_^W_*2;HSJ=,9T[\/5Y+E:;L!"0%NY-+*,[C.-]R\!3.CEBVR'?H_8W%/:D
MW[,=-QOZ]3 ;<$,R(-8MAG8M"F]5=O8TS"I#ILU4^[V-UU@<;NDC6Z]6"[K/
MFL<_<5CW+K,.,;E$KC"3X@J V502W)R:=-$XE"_:5[1-,N0+=H;A]V\GAS+^
MLAQ*-WA$.(72[WV5',KXX7,HT18I%,>!!0[WZ**4-E__FR59[NF6[B*= IC;
M.^53_EVR*;;5>+MT2O3ODDU1#1U;IE.B;R>;TN&'/K-^Z'8UI/>9E#&^-3#(
M_ZFLS)<FG1\V+:-2,K:AN*&<=#IF7!+20,,HZO><J0G!;_A<.FL&A.'SEG-@
MEIT+%]YL;KE:L,36X' ]HL4:=4F?.K $FZ$ZVAYM%6S/Y&N!<'N_]R#Q]NSR
MRP/N43/>ODM4W;PWA=4[4_?D$=DCM7<3>"'[]&7"HZ]M1TO@1BP>G;MN,$@O
MOW98/DQ%5+]>MFE.D>[7+$B^[P"N?1_5Q(%<AN93Z$3:?@15Y;F3N9&YOS"X
M.][O-%X >GNBQ(ZU1W;P]*!9I[D]Z=:WD=F\8TX+^64NEFIG D*PRW 495K6
M5:7ZO!IN8B*->_(6C0FH.I#=5J#-2+0]"HE";S@),)BWN:BO%JS>97-^EY7'
MBU[/E8N[_"EC5+< 'VY/RW8$V>\=_"@#LP-F66AN=B,02.E ..8RI<EV5 #N
MFFR.BJOH/XN<-@5/+B\SF LYJ*IBDJ%9_Y[T;8GQ@Z1$UX'"$M 4!M^JZ%N"
MIQ1-B\D:-T"[7EPC .0T%/&V=*D* E!7VUSA(42#B.>"V<7G,688R^C@A[WI
M?BC5:&NS?1F?++)Y_K<)=@YO31L_!FG#".Y7I[\.3L]'AV^'T6@TVIX 7IT,
M3H^BD]?]GAW%_$#-1[N7L/\V/!Z>#MY&[T]^5P OYUHX! PJ*V#-&LD<=!7V
M/58;AH _S(D\NT51_X=WKX:G<70^//YP.L0"_O_^,'@[>CTZI)I^=4C:'MU4
M.Z\RM-@)N/?7_=@%&'W_W[6#)VHIG%YN'(UG3Y\=1 -2$^^<17#FA;*[<F.T
MBPY/]_E.&5=4KIRC,OX(IM<AEK;WT_Z3"!&8;*:+>R%AV#:CQ5*?.^[2W.--
M!@[:U? %["%<3P ON_!:+-'$L!/.<X#!,Y(!@O3MD>AZ3*Y,.:8N!9X$;R%-
M%19B,\ G>8?SCH.VP+"2Q4.P:/FA!7<H4A6KI5R0($-@+WC@2TR:Y85=I-*O
MC^$BVX]678!V<'W.QAP1L\;L!S:;NU'H_K1>[X<'P@R\!7+5Z?"W#V\'IZV!
MY:.E,?Y  2[T+*' $, V =9-9+E@0PQ1\-7BVA)?D]=@R1!F1%'.DSS[EUI'
M%^-P0V=EW7 QJB2/X%H'G5=6,? 56W (+1'PDJ2MJ*:Q)7,<QVE!]2H[3AN[
MV<6?(RAD>:D _;IDA[,14!<\Z:*I>U0"MVH&AY;<D5&,3:(Z\P?\6L+HFF,6
MR5G"('(,Y=&\>CDE.VJ]JT?1T53G6=XG?]ZBOYG:Y-0( X[(JJG>;9A=3,TH
M]/9GWQ.FMXU'8[09DJHVI&8UCIIY#Z=L6 N+36+\Y^K"V,HQ-#!6V1) S9&Y
MQ#ZE2VB,T\/L)I:/8;[/>UA,$2JZ/X[\MC;$T^.;9=+*L\PWGHH=?(NGTN^Y
MC,@,#(5-0.Z\L#U7R @81X/H=L>3*0SYYFC 3(BVU O(0-I*U?4%_' O6P0L
MH<!E.//Q(<>?$+N<@NG8>,%G!L] CP-&Q"=SR==!B"%=)=FT?:9R;(H6EK?8
M)RE3^CJ!\#2*3.P?J8CQ6AO3$.S-IY)[2CS*:*/]:EQOF"&$ &*%)A+_CCV0
M4&]Q"KTY@$I11>EG\BFU2D(L'%6LWE Z'BCR."4T8AT8R"K.XES-UL!Z+.<H
M<@S3;-W,)JZG\&(0G"*RX0.(?\68X/-U9\RH.:2YBO;(]6Z!C+8?))ZZ:C@
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
M%ZX@H:0>!_2\**++54G@9I%+QUZ6O!4&)^%X+"J1-PB.%"*&_56B&L)YYD[
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
MKV7 $[+QK IGOC3RK>M<?6/JRF@;/M_SW?HT\7&Q4-F86ZG@>18_%WP1A@%
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
M8ZS):9PK3A>.3D'.<]F(P@'OB.0<W%S8## _ $*H\9 %ZW.!"M:1!>.2WB=
M0C6-69-$N\O\"1V\N \U%^LR&HJAB-C-0=3C*!'T2U0"+09DHVN ]DCJ^)HP
MM6N6!?L,/[P\?:8!*,R9@Z?@>!E" ('T(2>14+]F[U +].,I<'$_IQ/I813.
M/HDKXQIF-T6F-\T-YRP&&YQ_^Q=.631GPS<A2ACU'%W7X0I)MB@Q*+;OGW<E
M8\PIW(*^M+]@$U6$MABPH6K6O5Z93"'$8-CHYI@+@/)CC)I_9(7+3Y=6,H15
MH'1;X6D@],FV=\G-BVV% M^" [B]:6/AACGN7D?7_C!.XDA8 6BM/6A]2V+
M#"BSL<:"D?'<C ? S&<6C!M$D' '<1[$E'#- FH Y.89#D8X5:LC#G0C%^B/
M+4^19D[L;' S#H&AP%8G5K!AL/DR\(!N <90.2FIE?3+RV.3W)WFLLTF58]P
M0<2#+)@??,*=]H(%>U+&%"ZB9>]#^>.=!EYFP6H19 W(R4+4I^3Q#B((P3[Y
M/',<FAC Y,6#_^A!P0>-H(-GH$,X5V8[<XPN32/0SA-HW/4XS^DPB'Y#1>.-
M>H2J0\4$LV#BV$&\&):;<0"PJ*9PHMB7L"K@.%6Y%<?!D"]'5] M1D.2X,>7
MF&>I8PTOEH0*SS0/J2L&V30,5F](CMQ37Q.U;8F=6*M?Z79C.A!GBV< _XT.
MZ!I3TK2P_0^XV7A]F;][O\6=TG* .=P,II?U5H-I9"-2+XH'?-C5]D$(4@@\
M#%G0&6B;]6HGL#O@2.YD>8(86HWV"+ K=R_%*(!9Y/;!VV.8 S6^6 WP4SG8
MM0)=P)EYS!VH^^NC*/QO.&"+F,+37H&XN;0),UHHB"O!=4IA'$$I\L!QA@*
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
M_SXIRM85#&;>T.^*:]DPF/&O[T8,\^'_9O\?#_3D]G\ 4$L! A0#%     @
M*(!U5+PFGL05"P  ?[0  !               ( !     &-V<BTR,#(Q,3(S
M,2YX<V102P$"% ,4    "  H@'54I(()8'P'  #%70  %
M@ %#"P  8W9R+3(P,C$Q,C,Q7V-A;"YX;6Q02P$"% ,4    "  H@'54\R'Z
M%W,1  !%(@$ %               @ 'Q$@  8W9R+3(P,C$Q,C,Q7V1E9BYX
M;6Q02P$"% ,4    "  H@'54YUGZ=@HS  "%G ( %               @ &6
M)   8W9R+3(P,C$Q,C,Q7VQA8BYX;6Q02P$"% ,4    "  H@'541[N20F@A
M  !<60( %               @ '25P  8W9R+3(P,C$Q,C,Q7W!R92YX;6Q0
M2P$"% ,4    "  H@'54MK5W^;*E  "U608 #P              @ %L>0
M9#(X.#8R-V0Q,&LN:'1M4$L! A0#%     @ *(!U5+8Z\&1U 0  ] ,  !
M             ( !2Q\! &0R.#@V,C=D97@R,2YH=&U02P$"% ,4    "  H
M@'54^5XHCW(&  #F&   $0              @ 'N( $ 9#(X.#8R-V1E>#,Q
M,2YH=&U02P$"% ,4    "  H@'54/?,<>8 &   K&0  $0
M@ &/)P$ 9#(X.#8R-V1E>#,Q,BYH=&U02P$"% ,4    "  H@'54COY;SRA.
M  !Z:@$ $               @ $^+@$ 9#(X.#8R-V1E>#,R+FAT;5!+ 0(4
M Q0    ( "B =50_3ET*+P,  &\)   1              "  91\ 0!D,C@X
M-C(W9&5X,S(Q+FAT;5!+ 0(4 Q0    ( "B =50$ME2=3P,  .P)   1
M          "  ?)_ 0!D,C@X-C(W9&5X,S(R+FAT;5!+ 0(4 Q0    ( "B
M=51P+M?F"DP  '50   2              "  7"# 0!G,C@X-C(W8W)M;&]G
;;RYJ<&=02P4&      T #0 [ P  JL\!

end
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
